问题描述
在React路由使用过程中,使用如下结构,其中以id为参数:
<div className="App">
<BrowserRouter>
<Routes>
<Route path={"xx/:id"} element={<AA/>} />
</Routes>
</BrowserRouter>
</div>
在使用React Router6的useNavigate方法跳转路由时,页面url已发生变化但是页面信息不更新。
处理方法
针对于React Hook,使用useEffect监控路径获取方法useLocation,当路径信息发生变化后,触发useEffect更新页面数据,示例:
//使用location获取pathname,即包含参数的路径信息
const location = useLocation();
//当location发生变化即调用,loadData用于加载页面数据
useEffect(()=>{
loadData()
}, [location])