首页 > 解决方案 > 如何使用 redux 获得以前的状态?

问题描述

我在 React 中有一个应用程序,并且我使用 Redux 在 2 个减速器中拆分了我的状态。在我的一个组件中,我在服务器安装时从服务器获取一些数据,并且我还有一个删除按钮。

我在安装组件时用来获取数据的操作,我也想在componentDidUpdate中使用它,所以一旦我从列表中删除和项目,我将更新列表。我从componentDidUpdate记录了以前的状态,我看到它仍在使用组件中的状态。

有什么方法可以让我从Redux访问以前的状态,以便我可以与componentDidUpdate中的当前状态进行比较,这样我就不会进入无限循环?

标签: reactjsredux

解决方案


你应该能够使用componentDidUpdate来实现这一点

Redux 将状态片段作为 props 传递给您的组件(即您在 中定义的任何内容mapStateToProps

您可以像这样在确实更新中使用 redux 状态值的转换

componentDidUpdate(props) {
  if (this.props.someImportantItem && !props.someImportantItem || this.props.someImportantItem !== props.someImportantItem) {
    // code here to make a request
  }
}

推荐阅读