我有一个组件作为“中间件”,它检查条件并触发某些功能,当用户进入页面(我的意思是初始加载)或用户刷新页面时它工作。但是,如果用户通过 输入路径,componentWillMount
或者componentDidMount
不会触发<Link>
?
auth route componentWillMount 或 DidMount 在导航时没有触发?
IT技术
javascript
reactjs
2022-08-01 00:49:39
1个回答
因为componentWillMount
和componentDidMount
是挂载方法,而不是更新方法,所以它们不会在组件重新渲染时被调用。
解决方案:
你需要做一个改变,把BrowserRouter
这里:
render(<BrowserRouter><App /></BrowserRouter>, document.getElementById('root'));
并componentWillReceiveProps
在 Auth 组件内部使用,因为初始渲染componentDidMount
将被调用,并且每次路由更改componentWillReceiveProps
都会被调用,您可以在这两个地方执行该函数。