在我的应用程序中,我有两个面板,我根据另一个面板点击事件加载一个面板的信息(在按Id的短获取帖子中(。如果我点击post-B调度一个动作发送api请求并获取数据工作正常,但当当前api调用现在仍在加载时,我点击post-A发送另一个api请求。如果B后的api调用数据很大,则在A后的api请求加载并更新状态,然后更新第一个api调用数据之前需要比特时间,状态不一致。
例如:A后----B后数据显示
我不知道只有当api调用需要时间加载数据时,或者当我随机快速点击多个帖子时,才会发生这种情况。我没有在第二个面板中获得我点击的各个帖子的相关信息。
https://codesandbox.io/s/suspense-forked-r4g33?file=/src/TvShowDetails.js这就是我试图通过redux实现的。
答案非常简单。只需使用传奇最新版本。并在store reducer中使用一个参数来获得每个api响应的覆盖。点击帖子->使用id调用api->获得响应->将其储存在减速器中。若你们在同一个帖子上点击了多次,或者同时点击了其他帖子。最近一次点击将获取您最近一次的点击。由于您使用的是一个存储参数,因此数据也将被覆盖。如果api调用需要更多的时间,我建议显示loader,直到得到最后/最新api调用的响应。