Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 防止在Redux中显示其他对象的数据_Reactjs_Redux_React Redux - Fatal编程技术网

Reactjs 防止在Redux中显示其他对象的数据

Reactjs 防止在Redux中显示其他对象的数据,reactjs,redux,react-redux,Reactjs,Redux,React Redux,在我的React/Redux应用程序中,我有一个timelineReducer,它允许我集中管理不同对象(如项目、任务等)的时间线 最近发现了一个我以前没有注意到的bug,因为它需要一组环境才能发生 当我请求父对象的时间线时,我调用一个操作,该操作进行API调用,并在timelineReducer中设置时间线:[]数组 然而,如果我请求项目A,并迅速改变主意,进入任务B,并且碰巧当时网络连接速度较慢,那么即使我在任务B的页面中,我也会得到属于项目A的时间线数据 我确实有在componentWil

在我的React/Redux应用程序中,我有一个timelineReducer,它允许我集中管理不同对象(如项目、任务等)的时间线

最近发现了一个我以前没有注意到的bug,因为它需要一组环境才能发生

当我请求父对象的时间线时,我调用一个操作,该操作进行API调用,并在timelineReducer中设置时间线:[]数组

然而,如果我请求项目A,并迅速改变主意,进入任务B,并且碰巧当时网络连接速度较慢,那么即使我在任务B的页面中,我也会得到属于项目A的时间线数据

我确实有在componentWillUnmount lifecycle方法上执行的清理例程,但看起来清理例程在网络响应到达并在我的reducer中设置时间线之前就完成了:[]数组,我最终得到了错误的数据


有人遇到过这样的情况吗?在我尝试重新发明轮子之前,我想看看在这些情况下是否有一种标准的方法。

我曾经遇到过类似的情况,我在时间轴[]上添加了一个引用对象,比如{project:'a',timeline:[}是我的有效负载。这意味着这个时间线是关于项目A的,使用这个数组的任何组件都将首先验证项目的值,以确认它是项目A的数组,这也正是我想做的。谢谢你分享你的方法。@Sam Cool.\(^0^)/