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

时间:2019-06-19 21:35:11

标签: javascript reactjs redux web-applications react-redux

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

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

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

据我了解,该流程应在/items请求上工作,我们发出一个API请求,并将所有项目存储在redux存储中。当用户点击某个特定项目时,我们会从Redux存储中选择该特定项目,而无需再提出新的API请求,因为我们已经有了数据。

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

说,用户加载了items的列表,并从那里离开了几个小时。现在,items的列表在理论上已经与服务器过时了。

然后如何使商店与服务器保持最新?

2 个答案:

答案 0 :(得分:1)

您可以使用以下之一:

1)短期轮询(即不时轮询服务器并更新商店商品)

2)长时间轮询(打开连接,保持连接直到服务器上的数据更改,然后服务器向您发送新数据并关闭连接,然后重新打开连接...)

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

答案 1 :(得分:0)

状态更改时是不是,react会自动重新渲染组件,这可能不是您想要的,但是“使数据无效”的正确模式意味着什么?像30分钟一样,它会派出一个动作查看状态更改吗?