2016-01-22 101 views
3
<body> 
    <div id="content"></div> 

    <script type="text/jsx"> 
    var x = React.createClass({ 
     render:function(){ 
      return (
       <h1>I love react</h1> 
      ); 
     } 
    }); 

    React.render(<x/>,document.getElementById('content')); 
    </script> 
</body> 

我的reactjs代码在下面出现了什么问题?它什么都不渲染。我已经包括了React启动器模板不渲染任何东西

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react.min.js"></script> 

在头上。

回答

2

你有几个失误

  1. 你需要包括ReactDOM和使用ReactDOM.render,因为自版本0.14.*.render方法位于阵营已经过时了。
  2. 定义组件,你应该使用与一个大写字母开头的局部变量(应该是不Xx
  3. 而不是type="text/jsx"你应该使用type="text/babel"(不要忘了包括babel

Example

1

<script type="text/jsx">将不起作用。这是使用旧的jsx转换器的旧版本,但现在已被弃用。

改用babel。 Read more about this topic here.

此外,您的组件的名称应始终以大写字母开头。 <X />不是<x />