我在网上看到了一些关于使用HTML5 WebWorkers渲染React组件的东西。即使是Pete Hunt,React正在讨论这个问题。
我对数组的每个元素都有一些CPU密集型工作,然后是数组中每个元素的React渲染,所以我正在考虑将每个元素放在WebWorker中,然后将HTML字符串发布回主UI线程。
我的问题是 - 看起来React.renderToString
被弃用而不赞成ReactDOMServer.renderToString
...所以我问你们所有人和Pete Hunt - 我们是否应该在前端使用ReactDOMServer我们希望使用WebWorkers来呈现React组件,还是有另一种推荐方法?
(当然,我们只能在JS中的线程之间传递字符串/序列化数据,因此我们的想法是将React组件呈现为字符串,然后将其作为字符串传递回主UI线程。)
答案 0 :(得分:4)
我写了一个React的快速实现,在Web worker中呈现。它实际上不是renderToString
,而更像是自定义渲染器。我还发现这比正常实现要快得多。
演示页面有2个应用程序 - 一个显示CPU密集型应用程序的示例,以及一个包含事件的简单TODO列表。
以下是效果数字 - http://blog.nparashuram.com/2016/02/using-webworkers-to-make-react-faster.html