繁体   English   中英

在 React Web 应用程序中使 Redux 商店无效/刷新?

[英]Invalidating/Refreshing the Redux store in a React web app?

我们正在将一个相当复杂的 Web 应用程序迁移到 React/Redux 架构。

我一直无法找到答案的一个主要设计问题是,存储在 redux 中的数据应该如何“刷新”?

例如,假设我在/items类的路线上加载items列表。 现在用户想要查看特定项目并转到/items/<id>

据我了解,流程应该类似于,在/items请求上,我们发出一个 API 请求并将我们所有的项目存储在 redux 存储中。 当用户单击特定项目时,我们会从 Redux 存储中挑选该特定项目,因为我们已经拥有数据,因此无需发出新的 API 请求。

这一切都很好。 但问题是,“无效”这些数据的正确模式是什么?

假设,用户加载items列表并离开计算机几个小时。 现在, items列表理论上已与服务器过时。

那么如何使存储与服务器保持同步呢?

您可以使用以下方法之一:

1) 短轮询(即不时轮询您的服务器并更新商店项目)

2)长轮询(您打开连接,保持它直到服务器上的数据发生变化,然后服务器向您发送新数据并关闭连接,您重新打开它等等......)

3) 使用 websockets 进行实时更新,提供双向通信(这意味着服务器可以将数据推送到客户端)

是不是当状态改变时,react 会自动重新渲染组件,这可能不是你想要的,但你所说的“无效”这些数据的正确模式是什么意思? 像 30 分钟它会调度一个动作结帐状态改变?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM