Ошибка неактивности: инвариантное нарушение: React.render(): недопустимый элемент компонента

Я новичок-новичок

и я создаю простой класс, функцию и рендеринг для тела.

Однако

Я получаю Uncaught Error: Invariant Violation: React.render(): Invalid component element.

<script src="https://fb.me/react-0.13.3.js"></script>
<script src="https://fb.me/JSXTransformer-0.13.3.js"></script>
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script type="text/jsx">

    var HelloWorld = React.createClass({
        render: function() {
            return <div>Hello, world!</div>;
        }
    });

    React.render(new HelloWorld(), document.body);

</script>


<body>

</body>
</html>

Любые идеи о том, что не так?

Ответ 1

Измените React.render(new HelloWorld(), document.body); на React.render(React.createElement(HelloWorld), document.body);, и он должен работать. Функция The React.render ожидает a ReactElement, которую вы можете создать с помощью React.createElement.

Здесь вы можете увидеть документы вместе с некоторыми другими полезными функциями: https://facebook.github.io/react/docs/top-level-api.html

Ответ 2

используйте <HelloWorld/> вместо new HelloWorld()

Ответ 3

Написание метода рендеринга вашего компонента, например, приведет к той же ошибке:

...
render: function() {
  return      //you need "return <div>" for this to work.
    <div> 
      <h4>MyComponent message</h4>
    </div>;
}

Показанный код вызовет ту же ошибку, потому что теперь есть элемент рядом с возвратом (вы не должны прерывать его там).