2017-08-17 37 views
1

我想要检测用户何时点击后退按钮。实质上,当用户从/ projects移动到/ projects/foo时,导航样式发生更改。React路由器,点击浏览器后退按钮时的生命周期

<Route path="/projects" component={(props, state, params) => 
     <Projects {...props} /> 
</Route> 

检测时从/项目onClick事件到一个特定的项目,但当用户点击后退按钮componentDidMount是不是叫......我试图用this.props.location.pathname来确定具体的路径也能正常工作,但由于我需要设置状态,我不能在render内部执行此操作。

有没有一种“反应”的方式去做这件事? Thx

回答

1

如您所述,componentDidMount只会在组件挂载时调用一次。相反,使用生命周期钩子componentWillReceiveProps。 Here是文档。

如果您处于所需的/正确的路径,您可以使用它来有条件地设置setState。这将更新将重新呈现组件的状态。

相关问题