无法使用不同的参数渲染相同的路由 react router v4

prm*_*rms 5 javascript reactjs react-router react-router-v4

我正在实现一个带有路由信息/:id 的反应页面。在这个页面上,有各种由 NavLink 导航的 URL。

例如:如果当前路由是localhost:3000/info/1并且有链接localhost:3000/info/2localhost:3000/info/3,点击这些链接将加载我当前所在的页面,即:localhost :3000/信息/1。在跟踪道具更改时,url 会短暂更改,但它再次加载同一页面。如何路由到具有不同参数的相同组件?

提前致谢!!!!!!

Sor*_*esa 9

您应该在componentDidUpdate生命周期方法或useEffect挂钩中跟踪页面更新。

类组件:

 componentDidUpdate(prevProps) {
   if(prevProps.match.params.id !== this.props.match.params.id){
     // do something
   }
 }
Run Code Online (Sandbox Code Playgroud)

功能组件:

useEffect(() => {
    // do something
}, [props.match.params.id]);
Run Code Online (Sandbox Code Playgroud)