我在React中有一个应用程序,并且在2个reducer中使用Redux分割了状态。在我的一个组件中,当服务器挂载时,我会从服务器中获取一些数据,并且还有一个删除按钮。
安装组件时我用来获取数据的操作,我也想在 componentDidUpdate 中使用它,因此一旦删除列表中的项目,我将更新列表。我从 componentDidUpdate 记录了以前的状态,但我仍然看到它仍在使用组件中的状态。
是否可以通过 Redux 访问以前的状态,以便可以与 componentDidUpdate 中的当前状态进行比较,所以我不会进入无限循环?
答案 0 :(得分:2)
您应该可以使用componentDidUpdate
来实现这一目标
Redux将状态的一部分作为道具(即您在mapStateToProps
中定义的内容)传递给组件
您可以像这样在更新中使用redux状态值的过渡
componentDidUpdate(props) {
if (this.props.someImportantItem && !props.someImportantItem || this.props.someImportantItem !== props.someImportantItem) {
// code here to make a request
}
}