【发布时间】:2018-06-09 03:21:55
【问题描述】:
我编写了一个简单的应用程序,其中远程资源在组件的componentDidMount 函数中获取。
我正在使用 React Router,当路由完全改变时,之前的组件会被很好地卸载,然后新的组件会被安装。
问题是当用户停留在同一条路线上时,但只有一些参数发生了变化。在这种情况下,仅更新组件。这是默认行为。
但有时很难处理以前只需要 componentDidMount 的所有子组件中的更新...
当用户停留在同一条路线上但某些参数发生变化时,有没有办法强制重新安装组件?
谢谢。
【问题讨论】:
-
我知道这不是您要寻找的答案,但我通常只是检查 componentWillReceiveProps 中的参数是否更改并调用在 componentDidMount 中运行的相同初始化代码。即
if (this.props.match.userId !== nextProps.match.userId) { initComponent(nextProps.match.userId);} -
你能说出你有什么版本的 react-router 吗?
标签: reactjs react-router