简单的ReactJs示例不起作用

Ear*_*ron 4 javascript reactjs

使用来自react网站的简单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>
Run Code Online (Sandbox Code Playgroud)

然后我复制并粘贴代码:

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

打开页面时没有显示.还尝试过:

document.getElementById('example')
Run Code Online (Sandbox Code Playgroud)

控制台中没有错误,不会出现什么问题.

我在页面中使用jquery并使用带有Blade模板的Laravel让我知道是否存在问题.

还尝试使用外部脚本:

<script src="/lib/react-example.js" type="text/jsx"></script>
Run Code Online (Sandbox Code Playgroud)

这是我的Live Server,你可以在这里查看.

谢谢

jer*_*ija 10

如果要使用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>
Run Code Online (Sandbox Code Playgroud)

这是jsfiddle的一个例子,遗憾的是它不适用于StackOverflow片段.

另一种选择是你的transcompile .jsx使用的解决方案,例如它的JavaScript在服务器端browserify的WebPack.