Javascript 我的基本ReactJS应用程序有什么问题?

Javascript 我的基本ReactJS应用程序有什么问题?,javascript,reactjs,Javascript,Reactjs,我正试图建立一个基本的 目前我有一个空白页面,当我键入组件名称MessageBox时,我得到以下错误 已弃用renderComponent函数。 您可以使用ReactDOM.render()而不是React.renderComponent() 新文件应如下所示: <!doctype html> <html> <head> <meta charset="utf-8"> <meta name="description" cont

我正试图建立一个基本的

目前我有一个空白页面,当我键入组件名称
MessageBox
时,我得到以下错误


已弃用
renderComponent
函数。

您可以使用
ReactDOM.render()
而不是
React.renderComponent()

新文件应如下所示:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="description" content="Playing with ReactJS">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Playing with ReactJS</title>
</head>
<body>

    <!-- container node -->
    <div id="app"></div>

    <script src="bower_components/react/react.js"></script>
    <script src="bower_components/react/react-dom.js"></script>
    <script type="text/jsx">
        /** @jsx React.DOM */
        var MessageBox = React.createClass({
            render: function() {
                return (
                    <h1>Hello, World</h1>
                );
            }  
        });

        ReactDOM.render(
            <MessageBox/>,
            document.getElementById('app'),
            function () {
                console.log('after render');
            }
        );
    </script>

</body>
</html>

玩ReactJS
/**@jsx React.DOM*/
var MessageBox=React.createClass({
render:function(){
返回(
你好,世界
);
}  
});
ReactDOM.render(
,
document.getElementById('app'),
函数(){
console.log('after render');
}
);
另外-将该函数提取到单独的js文件中


这里有一个关于这个的例子。

浏览器不理解JSX。您需要以某种方式将其转换为JavaScript才能开始工作。您可以通过将代码移动到一个单独的
.jsx
文件并设置一些工具(如Babel)来编译它,也可以使用JSXTTransformer在浏览器中运行转换(jsx->JS)。但是,可能不支持最近添加到JSX语法中的内容(例如)。

@Andrew Hendrie,这是一种什么编辑?为什么要将一些常用词大写?请尝试使用
ReactDOM.render
而不是
React.renderComponent
。你正在使用的教程似乎已经过时了。@Road我也试过了,仍然没有结果:(嗯,我刚刚试过,还复制了更新的标记,仍然没有结果:(参见update-ReactDOM.render和该函数后面的分号仍然没有任何内容…嗯,我认为@thorn可能有问题参见编辑将该代码提取到单独的js文件LOL!我想知道
将如何工作,希望它抛出一个错误或什么的,并且希望图坦卡蒙的作者已经提到了这一点,他在任何地方都不会这样做现在,浏览器不会执行
脚本
元素的内容,这些元素具有
类型
,而不是
文本/javascript
。这取决于加载的JS代码来决定如何处理它们。
 /**
  * React v0.14.7
  */
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="description" content="Playing with ReactJS">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Playing with ReactJS</title>
</head>
<body>

    <!-- container node -->
    <div id="app"></div>

    <script src="bower_components/react/react.js"></script>
    <script src="bower_components/react/react-dom.js"></script>
    <script type="text/jsx">
        /** @jsx React.DOM */
        var MessageBox = React.createClass({
            render: function() {
                return (
                    <h1>Hello, World</h1>
                );
            }  
        });

        ReactDOM.render(
            <MessageBox/>,
            document.getElementById('app'),
            function () {
                console.log('after render');
            }
        );
    </script>

</body>
</html>