如当前路由地址为:http://localhost:8585/#/book
页面中有个<Link to="/book?id=1">《前端从入门到放弃》</Link>
如何在点击Link的时候让页面重载?
如当前路由地址为:http://localhost:8585/#/book
页面中有个<Link to="/book?id=1">《前端从入门到放弃》</Link>
如何在点击Link的时候让页面重载?
一般采用 key 解决此类问题
<Link to="/book?id=1" :key="key">《前端从入门到放弃》</Link>
methods{
click(){
this.key = new Date().getTime();
}
}
重载的部分使用id作为Props,id改变自然组件会接收到新的prop从而响应改变
如果是functional component那更简单了,直接将id作为用useEffect的依赖参数
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
5 回答902 阅读
5 回答1.2k 阅读✓ 已解决
3 回答2.2k 阅读
如果你用的react15.x的版本 可以参考react-router url参数更新
用componentWillReceiveProps去控制
如果用的react16.x的版本 我觉得可以用useRef+useEffect去控制
useRef记录你旧的参数 useEffect去比对新的参数和旧的参数是不是有区别 再去页面重载
还是页面分开比较好 换个url去做新的事情