我有一些可以在componentWillUnmount()
上运行的代码,但是我只希望它们返回上一页时才能运行。如果他们前进到下一页,我不希望运行componentWillUnmount
中的内容。
我正在使用React Router 4,但是当我在componentWillUnmount
中对其进行检查时,它仍然没有更新为下一个URL。
componentWillUnmount() {
const props = this.props;
const location = props.location;
}
答案 0 :(得分:0)
React Router提供了一个history对象,您可以使用该对象在过渡到新位置之前设置一些变量。
尝试这样的事情:
componentDidMount() {
this.props.history.block((location, action) => {
this.isGoingBack = action === 'POP';
})
}
componentWillUnmount() {
if (this.isGoingBack) {
...
}
}
您可能还需要检查location
。