Javascript 不变冲突:renderComponentToString():必须传递有效的组件
我正在尝试使用React和Node.js构建一个应用程序,但我不确定如何在前端使用React。我试着跟着。现在,在我的routes.js文件中,我有:Javascript 不变冲突:renderComponentToString():必须传递有效的组件,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,我正在尝试使用React和Node.js构建一个应用程序,但我不确定如何在前端使用React。我试着跟着。现在,在我的routes.js文件中,我有: var JSX = require('node-jsx').install(); var React = require('react'); var Homepage = require('./../components/Homepage'); module.exports = { index: function(req, res)
var JSX = require('node-jsx').install();
var React = require('react');
var Homepage = require('./../components/Homepage');
module.exports = {
index: function(req, res) {
var markup = React.renderComponentToString(Homepage);
res.render('home', {
markup: markup
});
}
};
renderComponentToString方法似乎是问题所在,因为我的服务器启动,然后我收到错误消息“错误:不变冲突:renderComponentToString():您必须传递有效的ReactComponent”。我的主页组件看起来像:
/** @jsx React.DOM */
var React = require('react');
var style = require('./style');
module.exports = About = React.createClass({
render: function() {
return (
<div style={ style.style1 }>
some more code here
</div>
)
}
})
/**@jsx React.DOM*/
var React=要求('React');
变量样式=要求('./样式');
module.exports=About=React.createClass({
render:function(){
返回(
这里有更多的代码
)
}
})
我似乎不知道我的反应组件出了什么问题。任何帮助都将不胜感激。谢谢 React.renderComponentToString接受一个React组件。试着像传球一样传球
var markup = React.renderComponentToString(Homepage());
请参阅链接@MayankShukla:
/./components/Homepage
与./components/Homepage
相同。路径很奇怪,因为我实际上有一个包含两个不同路由文件的路由文件夹。我现在在route file#1中,所以我只是慢慢进入父目录以访问组件文件夹。Homepage
是一个函数。我假设renderComponentToString
实际需要一个元素:React.renderComponentToString()代码>(或React.renderComponentToString(React.createElement(主页));