Простой пример ReactJs не работает

Получение проблемы с простым примером ReactJs с использованием веб-сайта реакции:

Сначала я импортировал:

<script src="https://fb.me/react-0.14.3.min.js"></script>
<script src="https://fb.me/react-dom-0.14.3.min.js"></script>

Затем я копирую и вставляю код:

// tutorial1.js
var CommentBox = React.createClass({
    render: function() {
        return (
            <div>
                <h1>Welcome</h1>
            </div>
        );
    }
});
ReactDOM.render(<CommentBox/>, document.body);

При открытии страницы ничего не показывалось. Также попробовал:

document.getElementById('example')

Нет ошибки в консоли, не то, что проблема.

Я использую jquery на странице и использую Laravel с шаблонами Blade, дайте мне знать, если это проблема.

Также попытался использовать внешний скрипт:

<script src="/lib/react-example.js" type="text/jsx"></script>

Это мой Live Server, вы можете проверить здесь.

Спасибо

1 ответ

Решение

Если вы хотите использовать синтаксис JSX, вам нужно пометить теги сценария как type=text/babel а также загрузите скрипт браузера babel:

<script src="https://unpkg.com/react@16.5.2/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@16.5.2/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/babel-standalone@6.26.0/babel.min.js"></script>

<script type="text/babel">
var CommentBox = React.createClass({
    render: function() {
        return (
            <div>
                <h1>Welcome</h1>
            </div>
        );
    }
});
ReactDOM.render(<CommentBox/>, document.body);
</script>

Вот пример для jsfiddle, к сожалению, он не работает с фрагментами Stackru.

Другой вариант - это скомпилировать ваш .jsx это javascript на стороне сервера, используя решение, такое как http://browserify.org/ или webpack.

Другие вопросы по тегам