Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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 使用React进行服务器端渲染_Javascript_Reactjs - Fatal编程技术网

Javascript 使用React进行服务器端渲染

Javascript 使用React进行服务器端渲染,javascript,reactjs,Javascript,Reactjs,如果这让人觉得这是一个以前被问过很多次的问题,那么我很抱歉,但是关于这个问题的每一个指南都倾向于过度设计一个解决方案,而从来没有真正解释它背后的方法 我有一个React前端(带有React路由器,但没有其他技术),目前它是构建的(通过创建React应用程序的构建任务),然后由节点提供服务。没问题,一切正常 要将其转化为SSR的解决方案,在路线定义中是否简单到: const ReactDOM = require('react-dom/server'); const MyRootComponent

如果这让人觉得这是一个以前被问过很多次的问题,那么我很抱歉,但是关于这个问题的每一个指南都倾向于过度设计一个解决方案,而从来没有真正解释它背后的方法

我有一个React前端(带有React路由器,但没有其他技术),目前它是构建的(通过创建React应用程序的构建任务),然后由节点提供服务。没问题,一切正常

要将其转化为SSR的解决方案,在路线定义中是否简单到:

const ReactDOM = require('react-dom/server');
const MyRootComponent = require('path/to/component');
return response.send(ReactDOM.renderToString(MyRootComponent));
假设MyRootComponent是包含我的路由的React组件

谢谢你的指点

是和否

这里有几个警告:
i、 e.组件的生命周期不同;在服务器上不能使用componentWillReceiveProps

您已经试过了吗?没用吗?在我看来,至少呈现组件的静态HTML表示是可行的,显然,您可能需要在前端重新装载以实现交互性…您需要添加doctype、脚本、样式、序列化初始状态、处理初始数据加载(如果您的组件需要来自数据库的一些数据)。总结所有这些因素将导致“过度设计”的解决方案。