克隆通过Web worker将组件反应到新窗口

问题描述 投票:0回答:1

我正在寻找一种方法来移动一个反应组件,它的状态跨越窗口/标签,为我们的界面提供交互式分屏显示。

目前我有一个共享的Web worker设置,其中2个窗口相互通信,并在移动组件之间传递数据。

我正在努力的是将反应组件传递给新窗口并将其渲染出来。我一直在考虑一些可能性,第一次在该组件上使用renderToString()并通过Web worker将其传递到新窗口但是我不确定是否正确实现了将该组件加载回来,因为它已经完成了客户直接。还研究了使用redux存储并将此上下文保留在Web worker中,以便重新映射状态。

理想情况下,我想要一种数据表示组件的当前状态,我可以编码/解码。

任何想法都非常感谢!

javascript reactjs web-worker
1个回答
0
投票

您可能会将React组件视为状态的表示。

所以你必须在你的窗口/标签之间共享一个状态。如果您的react应用程序处理状态更改,则react组件将同步。

如果堆栈中有后端,则可以在所有窗口/选项卡中将状态与后端同步。

如果您想要“实时”客户端同步,您可以使用共享Web工作者解决方案,并只共享可序列化状态。

如果你使用redux,你可以使用redux-persist和自定义的“web worker”存储实现。

© www.soinside.com 2019 - 2024. All rights reserved.