当前位置:首页 > React

react列表详情如何跳转

2026-03-11 03:20:50React

路由配置

使用react-router-dom库配置路由,在根组件中定义列表页和详情页的路由规则。列表页路径通常为/list,详情页路径为/detail/:id(动态参数传递)。

import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import ListPage from './ListPage';
import DetailPage from './DetailPage';

function App() {
  return (
    <Router>
      <Routes>
        <Route path="/list" element={<ListPage />} />
        <Route path="/detail/:id" element={<DetailPage />} />
      </Routes>
    </Router>
  );
}

列表项点击事件

在列表组件中,为每个列表项绑定点击事件,通过useNavigate钩子跳转至详情页,并携带对应的ID参数。

react列表详情如何跳转

import { useNavigate } from 'react-router-dom';

function ListPage() {
  const navigate = useNavigate();
  const items = [{ id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }];

  return (
    <ul>
      {items.map(item => (
        <li 
          key={item.id}
          onClick={() => navigate(`/detail/${item.id}`)}
        >
          {item.name}
        </li>
      ))}
    </ul>
  );
}

详情页数据获取

在详情页组件中,通过useParams钩子获取URL中的ID参数,并根据ID加载对应的详情数据。

import { useParams } from 'react-router-dom';

function DetailPage() {
  const { id } = useParams();
  const [detail, setDetail] = useState(null);

  useEffect(() => {
    fetch(`/api/details/${id}`)
      .then(res => res.json())
      .then(data => setDetail(data));
  }, [id]);

  return (
    <div>
      {detail ? <h1>{detail.title}</h1> : <p>Loading...</p>}
    </div>
  );
}

状态管理(可选)

若需在跳转时传递复杂数据而非仅ID,可通过state参数传递。列表页点击时添加状态:

react列表详情如何跳转

navigate(`/detail/${item.id}`, { state: { itemData: item } });

详情页通过useLocation获取状态:

import { useLocation } from 'react-router-dom';

function DetailPage() {
  const { state } = useLocation();
  const itemData = state?.itemData;
}

返回按钮处理

在详情页添加返回按钮,通过navigate(-1)返回列表页。

<button onClick={() => navigate(-1)}>Back to List</button>

标签: 跳转详情
分享给朋友:

相关文章

h5实现登录页面跳转页面跳转页面

h5实现登录页面跳转页面跳转页面

实现H5登录页面跳转 在H5中实现登录页面跳转可以通过多种方式完成,以下是几种常见方法: 使用window.location.href window.location.href = '目标页面UR…

h5实现网页跳转

h5实现网页跳转

H5实现网页跳转的方法 在HTML5中,可以通过多种方式实现网页跳转。以下是几种常见的方法: 使用<a>标签 通过超链接标签实现跳转是最传统的方式: <a href="http…

vue实现路由跳转

vue实现路由跳转

路由跳转的基本方法 在Vue中,路由跳转可以通过vue-router实现。vue-router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是几种常见的路由跳转方式。 声明式导航…

vue实现导航跳转

vue实现导航跳转

vue-router 基本跳转方法 在 Vue 项目中实现导航跳转主要通过 vue-router 完成。安装路由依赖: npm install vue-router 在 router/index.j…

实现js页面跳转页面跳转页面

实现js页面跳转页面跳转页面

使用 window.location.href 实现跳转 通过修改 window.location.href 属性,可以直接跳转到目标 URL。这种方法会触发页面刷新,并在浏览器历史记录中留下记录。…

elementui详情

elementui详情

elementui详情 Element UI 是一套基于 Vue.js 的桌面端组件库,由饿了么前端团队开发并维护。它提供了丰富的组件和工具,帮助开发者快速构建高质量的网页应用。以下是关于 Eleme…