通过网络工作者将React组件克隆到新窗口

时间:2018-09-19 09:13:49

标签: javascript reactjs web-worker

我正在寻找一种在Windows /选项卡之间移动其状态的React组件的方法,以向我们的界面提供交互式的分屏显示。

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

我正在努力的是将react组件传递过来并让新窗口将其渲染出来。我一直在考虑几种可能性,第一种是在该组件上使用renderToString()并将其通过网络工作者传递到新窗口,但是我不确定将组件重新加载为的正确实现它直接在客户端上完成。还研究了使用redux存储并将此上下文保留在Web worker中,以便重新映射状态。

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

任何想法都将不胜感激!

1 个答案:

答案 0 :(得分:0)

您可能将React组件视为状态的代表

因此,您必须在窗口/标签之间共享的是一种状态。 如果您的React应用程序处理状态更改,则React组件将同步。

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

如果您希望“实时”客户端同步,则可以使用共享的Web Worker解决方案,而只需共享可序列化状态

如果您使用redux,则可以将redux-persist与自定义的“网络工作者”存储实现结合使用。