Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应v16水合物和RenderNodeStream vs render和RenderString_Javascript_Reactjs - Fatal编程技术网

Javascript 反应v16水合物和RenderNodeStream vs render和RenderString

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之间的差异,然后我尝试创建一个示例项目来演示这种差异。从我所做的所有测试中,我找不到这些新函数之间行为的任何差异

例如,我创建了一个简单的Hello World程序,其中“World”是我的应用程序组件的一个参数,my server.js和browser.js都使用共享应用程序组件来设置参数(在服务器中,参数值设置为“World”,在浏览器中,参数值设置为“Me”)。正如我所料,当我在browser.js中使用hydrate函数运行应用程序时,它应该忽略差异,因为据我所知,hydrate不应该更改组件值,而应该只添加事件侦听器。但是,当我运行应用程序时,我看到Hello World,几毫秒后它变成Hello Me(这是我从render而不是Hydroid中所期望的)

我还尝试通过创建一个示例应用程序来测试新的renderToNodeStream函数,其中来自服务器的数据来得很慢。我希望我的应用程序在服务器向客户端传输数据块时运行,但它似乎与renderToString完全一样(所有组件字符串同时出现)


有人能帮我解释一下我做错了什么吗?

当组件的尺寸很小时,性能不会有显著差异。
renderToNodeStream
renderToString
之间的区别在于
renderToNodeStream
将从
流扩展渲染器。可读的


我认为当组件的大小越来越大(例如10MB)时,
renderToNodeStream
将在解析组件时逐段发送,而
renderToString
将等待解析完成,然后发送整个内容。我没有做过任何测试,但我认为
renderToNodeStream
将有更好的性能。

猜一下它的输入错误。它可能是renderToString而不是renderToStream。