reactjs - 防止在 Redux 中显示另一个对象的数据
问题描述
在我的React/Redux
应用程序中,我有一个timelineReducer
允许我集中管理不同对象的时间线,例如项目、任务等。
最近发现了一个我以前没有注意到的错误,因为它需要一系列环境才能发生。
当我请求父对象的时间线时,我调用了一个动作,该动作进行 API 调用并将timeline: []
数组设置在timelineReducer
.
但是,如果我请求Project A
并迅速改变主意并进入Task B
并且当时恰好有一个缓慢的网络连接,我最终会得到属于Project A
即使我在Task B
's 页面中的时间线数据。
我确实有我在componentWillUnmount()
生命周期方法上执行的清理例程,但看起来清理例程在网络响应到达之前完成并timeline: []
在我的减速器中设置了数组,我最终得到了错误的数据。
有没有人遇到过这样的情况?在我尝试重新发明轮子之前,我想看看在这些情况下是否有标准方法。
解决方案
我遇到过类似的情况,我添加了一个参考对象以及时间线[],就像{project:'A',timeline:[]}
我的有效载荷到减速器一样。所以这意味着这个时间线是参考项目 A 并且使用这个数组的任何组件将首先验证项目的值以确认其项目 A 的数组
推荐阅读
- c++ - 在运行时访问 C++17 中元组的随机子集
- terraform - 如何让 ECS 服务进行强制重新部署?
- java - 如何使用 Java 在 YouTube Data API v3 中设置 nextPageToken?
- php - 有没有办法对从 MySQL 检索到的特定数据进行样式化?
- ios - 填充单元格后如何在单元格中加载/显示 UIImageView
- c# - 从运行时创建的对象订阅事件
- assembly - 如何修复汇编语言代码中的无限循环:
- option - AMP:选择选项并更改另一个元素中的选项
- mysql - 使用 sequelize 事务记录对象数组
- c++ - 如何在地图中搜索本身是一对的键?