我在这里面对并发表意见,我想再说一遍。呈现应用程序的第一页时,出于安全原因,我想清除状态,因此在布局类组件中编写:
componentDidMount() {
this.props.clearState();
}
问题是,当我进入应用程序的第二页并单击反斜杠时,状态将再次清除。我想以某种方式在我的componentDidMount中设置条件,以免如果我来自应用程序页面时不清除状态。这可能吗?您对如何执行此操作还有其他想法吗?非常感谢
答案 0 :(得分:1)
如果您不使用Redux,则在clearState()被触发时,可以尝试使用sessionStorage临时存储。
//simple Example
componentDidMount() {
if (sessionStorage.getItem('clearState') === 0) {
this.props.clearState();
sessionStorage.setItem('clearState fired', 1)
}
}
答案 1 :(得分:1)
您应该尝试在componentWillUnmount()生命周期方法内清除Component的状态。这是进行清洁的合适场所。