我正在使用路线信息/:id实现一个反应页面。在此页面上,有NavLink导航的各种URL。
例如:如果当前路由为 localhost:3000 / info / 1 ,并且存在链接 localhost:3000 / info / 2 和 localhost:3000 / info / 3 ,单击这些链接将加载我当前所在的页面,即: localhost:3000 / info / 1 。在跟踪道具更改时,URL会短暂更改,但会再次加载同一页面。如何路由到具有不同参数的相同组件?
提前谢谢!!!!!!
答案 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]);