1

我将 React 16.8.6 与 redux 4.0.1 一起使用,但我对 redux 的存储有疑问。当我切换到另一个浏览器选项卡时,商店会停止发送任何操作。

正常流量:

  1. 点击一个按钮
  2. 操作 1 已发送(获取某些东西)
  3. 操作 2 已发送(在 DB 中保存一些内容)
  4. 动作 3 已派发(取东西)

当我切换到另一个选项卡时:

  1. 点击一个按钮
  2. 操作 1 已发送(获取某些东西)
  3. 切换到其他浏览器选项卡或打开其他应用程序
  4. (应用程序没有收到其他操作)

但是当我回到我的应用程序的选项卡并刷新它时,我可以看到操作 12应该做的更改。但是,它们没有被我的应用程序捕获,因为它的选项卡未处于活动状态。

由于该应用程序正在使用 firebase 消息传递,我试图将它与 React 服务工作者连接以解决问题,但它不起作用。

我该怎么办?这是 redux 的常见问题吗?

4

1 回答 1

0

您可以将持久性 redux 状态与某些库(例如,当您在两个选项卡之间共享状态时也有效)redux-persist 之类的库使用持久性 redux 状态,另一方面,如果您想实现自己的库,则可以使用像 local/session 这样的持久性系统storage, Redux, rabbitMQ 等,在这篇文章中有一些很好的想法在标签之间共享状态

于 2020-03-25T16:42:54.903 回答