繁体   English   中英

Redux 商店在切换到另一个浏览器选项卡时停止接收操作

[英]Redux store stops receiving actions when changing to another browser tab

我将 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 Service Worker 连接以解决问题,但它不起作用。

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

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

暂无
暂无

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

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