React Router中如何正确传递和接收路由参数?
我在用React Router v6做项目时,想从一个页面跳转到详情页并传个id过去,但接收的时候一直拿不到。我试过用useParams,但打印出来是空对象,不知道哪里出错了。
我的路由配置和跳转代码大概是这样的:
// 路由定义
<Route path="/detail/:id" element={<DetailPage />} />
// 跳转处
navigate('/detail/123');
// DetailPage组件里
const { id } = useParams();
console.log(id); // 输出 undefined
Routes包裹你的Route。改成这样:
如果你用了
BrowserRouter,它只负责路由导航,但参数解析必须包在Routes里。