不变违规:renderComponentToString():您必须传递有效的ReactComponent

时间:2017-05-29 18:20:23

标签: javascript node.js reactjs

我尝试使用React和Node.js构建应用程序,但我不确定如何在前端使用React。我试图关注this tutorial。现在,在我的routes.js文件中,我有:

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>
        )

    }
})

我似乎无法弄清楚我的反应组件有什么问题。任何帮助,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

React.renderComponentToString采用React组件。尝试传递它像

var markup = React.renderComponentToString(Homepage());

参考 this 链接