Express 将数据传递到服务器端的React组件渲染

Express 将数据传递到服务器端的React组件渲染,express,reactjs,pug,Express,Reactjs,Pug,我在node.js中有一个服务器,它通过用户的github帐户凭据对用户进行身份验证,如果成功执行回调并返回该用户的json数据,并呈现jade视图 var reactHtml = require('./component.js'); app.get('/auth/github/callback' , function(req , res){ //get document for the user from database and store it in doc variable res.r

我在node.js中有一个服务器,它通过用户的github帐户凭据对用户进行身份验证,如果成功执行回调并返回该用户的json数据,并呈现jade视图

var reactHtml = require('./component.js');

app.get('/auth/github/callback' , function(req , res){
//get document for the user from database and store it in doc variable
res.render('index.jade' , {userName : doc.userName , reactHtml : reactHtml});
});
在index.jade中

body
 div(id='react-mount-node')!=reactHtml
在component.js中

//After requiring relevant modules

var Name = React.createClass({
render : function(){
return(<div><p>this.props.user</p></div);
});
var htmlString = ReactDOMServer.renderToString(<Name user={user}/>);
module.exports = htmlString;
//需要相关模块后
var Name=React.createClass({
render:function(){

返回(this.props.user

您是否尝试过仅导出
组件而不渲染为字符串,然后在
app.get
中渲染为字符串?这正是我所需要的,非常有效。但是,如果我有一个带有多层嵌套的大型组件,这不会使服务器过载,因为每次都会调用renderToStringquest?如果你正在缓存呈现的html,我不这么认为。这就像用分离的部分/模板呈现html一样。你只是在每个请求中呈现html,就像在普通网站中一样。@MayurJoshi你能告诉我你是如何做到的吗?因为即使是我也遇到了类似的问题,我试图使用passport local登录并呈现我要在jade模板中设置名为的组件中的用户名的jade模板