当路由是子路由时,React路由器不会触发componentWillUnmount

时间:2019-07-02 12:18:54

标签: reactjs react-redux react-router react-router-dom

当路由为子路由时,我没有看到react-router卸载组件

因此,即使我在path / 1和path / 2之间切换,也不会为ComponentForRoute实例调用componentWillUnmount。有什么建议么?这是React Router应该如何工作的吗?如果是这样,对处理路线更改有什么建议吗?

尝试使用componentWillReceiveProps,但我猜它现在已弃用了吗?

<Router history={history}>
    <Route path="path/:paramId" component={ComponentForRoute} />
</Router>

1 个答案:

答案 0 :(得分:1)

componentDidUpdate (prevProps) {
    if (this.props.location !== prevProps.location) {
        //YOUR CODE HERE
    }
}

此外,组件必须用withRouter包装。