我有一个组件作为'中间件',它检查条件并触发一些功能,它在用户进入页面时起作用(我的意思是初始加载)或用户刷新页面。但是,如果用户通过componentWillMount
输入路径,componentDidMount
或<Link>
将不会触发?
答案 0 :(得分:0)
由于componentWillMount
和componentDidMount
是mounting methods,而不是updating methods,因此不会在组件重新呈现时调用它们。
<强>解决方案:强>
您需要进行一项更改,将BrowserRouter
放在此处:
render(<BrowserRouter><App /></BrowserRouter>, document.getElementById('root'));
在Auth组件中使用componentWillReceiveProps
,初始渲染componentDidMount
将被调用,并且对于每个路由更改componentWillReceiveProps
将被调用,您可以在两个位置执行该函数。 / p>
<强> Working Code. 强>