无法使用不同的参数渲染相同的路由反应路由器v4

时间:2018-09-06 17:30:09

标签: javascript reactjs react-router react-router-v4

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

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

提前谢谢!!!!!!

2 个答案:

答案 0 :(得分:0)

您应该使用componentDidUpdate生命周期方法跟踪页面更新。

 componentDidUpdate(prevProps) {
   if(prevProps.match.params.id !== this.props.match.params.id){
     // do something
   }
 }

答案 1 :(得分:0)

以下是通过React挂钩和功能组件实现相同目标的方法:

useEffect(() => {
    //do something
}, [props.match.params.id]);