React.JS中的组件元素无效

时间:2015-05-16 12:39:46

标签: javascript reactjs

我已经通过一个简单的hello world示例来完成react.js教程。我无法找到以下不应该工作的原因,但我一直收到此错误。

Uncaught Error: Invariant Violation: React.render(): Invalid component element.

我有以下代码。如果我做React.createElement似乎有效,但不适用于JSX元素。

<!doctype html>
<html>
<head>
    <script src="https://fb.me/react-0.13.3.js"></script>
    <script src="https://fb.me/JSXTransformer-0.13.3.js"></script>
    <script type="text/jsx">
        document.body.onload = function(){
            console.log("shuff")
            var HelloWorld = React.createClass({
                render: function(){
                    return <div>Hello, Ian Shuff!</div>;
                }
            });

            React.render( new HelloWorld(), document.getElementById("test"))
        }

    </script>
</head>
<body>
    <div id="test"></div>
</body>
</html>

1 个答案:

答案 0 :(得分:21)

您应该传递给<HelloWorld />,而不是new HelloWorld()

React.render(<HelloWorld />, document.getElementById("test"))

Example

jsx-in-depth

或者您可以使用React.createElement,就像这样

React.render(React.createElement(HelloWorld, null), document.getElementById("test"))

Example