reactjs - 如何使用 redux 获得以前的状态?
问题描述
我在 React 中有一个应用程序,并且我使用 Redux 在 2 个减速器中拆分了我的状态。在我的一个组件中,我在服务器安装时从服务器获取一些数据,并且我还有一个删除按钮。
我在安装组件时用来获取数据的操作,我也想在componentDidUpdate中使用它,所以一旦我从列表中删除和项目,我将更新列表。我从componentDidUpdate记录了以前的状态,我看到它仍在使用组件中的状态。
有什么方法可以让我从Redux访问以前的状态,以便我可以与componentDidUpdate中的当前状态进行比较,这样我就不会进入无限循环?
解决方案
你应该能够使用componentDidUpdate
来实现这一点
Redux 将状态片段作为 props 传递给您的组件(即您在 中定义的任何内容mapStateToProps
)
您可以像这样在确实更新中使用 redux 状态值的转换
componentDidUpdate(props) {
if (this.props.someImportantItem && !props.someImportantItem || this.props.someImportantItem !== props.someImportantItem) {
// code here to make a request
}
}
推荐阅读
- visual-studio-code - 如何在 VS Code 快速选择器中将项目设置为默认值?
- ruby-on-rails - 如何在 Rails 5.2 上测试与 FactoryBot 的多态关联?
- mysql - JSON 合并数组和 UNIQUE 或 DISTINCT
- python - Tensorboard 指向错误的数据位置
- android - 如何在将文件上传到 Google Cloud Storage 之前获取文件的 URL
- c# - Gcallowverylargeobjects true 在 c# 的 *64 编译器中不起作用
- android - 如何将 JsonObject 转换为类模型 kotlin android
- c++ - 如何将 json 数据附加到 Qt 中的现有 json 文件中
- mysql - 在 MySql 中保存日期值
- if-statement - 将矩阵转换为谷歌表格上的列