Javascript 反应v16水合物和RenderNodeStream vs render和RenderString
我已经阅读了水合物和渲染之间以及renderToNodeStream和renderToString之间的差异,然后我尝试创建一个示例项目来演示这种差异。从我所做的所有测试中,我找不到这些新函数之间行为的任何差异 例如,我创建了一个简单的Hello World程序,其中“World”是我的应用程序组件的一个参数,my server.js和browser.js都使用共享应用程序组件来设置参数(在服务器中,参数值设置为“World”,在浏览器中,参数值设置为“Me”)。正如我所料,当我在browser.js中使用hydrate函数运行应用程序时,它应该忽略差异,因为据我所知,hydrate不应该更改组件值,而应该只添加事件侦听器。但是,当我运行应用程序时,我看到Hello World,几毫秒后它变成Hello Me(这是我从render而不是Hydroid中所期望的) 我还尝试通过创建一个示例应用程序来测试新的renderToNodeStream函数,其中来自服务器的数据来得很慢。我希望我的应用程序在服务器向客户端传输数据块时运行,但它似乎与renderToString完全一样(所有组件字符串同时出现)Javascript 反应v16水合物和RenderNodeStream vs render和RenderString,javascript,reactjs,Javascript,Reactjs,我已经阅读了水合物和渲染之间以及renderToNodeStream和renderToString之间的差异,然后我尝试创建一个示例项目来演示这种差异。从我所做的所有测试中,我找不到这些新函数之间行为的任何差异 例如,我创建了一个简单的Hello World程序,其中“World”是我的应用程序组件的一个参数,my server.js和browser.js都使用共享应用程序组件来设置参数(在服务器中,参数值设置为“World”,在浏览器中,参数值设置为“Me”)。正如我所料,当我在browser
有人能帮我解释一下我做错了什么吗?当组件的尺寸很小时,性能不会有显著差异。
renderToNodeStream
和renderToString
之间的区别在于renderToNodeStream
将从流扩展渲染器。可读的
我认为当组件的大小越来越大(例如10MB)时,renderToNodeStream
将在解析组件时逐段发送,而renderToString
将等待解析完成,然后发送整个内容。我没有做过任何测试,但我认为renderToNodeStream
将有更好的性能。猜一下它的输入错误。它可能是renderToString而不是renderToStream。