2015-03-03 40 views
0

我编写了一个react类,但Chrome在渲染函数中抛出了语法错误。渲染函数语法中的ReactJS错误

我在这里附上代码:

var Chatrooms = React.createClass({ 
 

 
    getInitialState: function() { 
 
     return { 
 
      loaded: false, 
 
      pages: undefined, 
 
      id: "-1", 
 
     }; 
 
    }, 
 

 
    loadPages: function() { 
 
     url = "/chat/api/chatroom/" + this.props.course + "/get/?format=json"; 
 
     request = ajax_json_request(url, "GET", {}); 
 
     request.done(function(response) { 
 
      response = jQuery.parseJSON(response); 
 
      oldState = this.state; 
 
      oldState['chatrooms']=response; 
 
      oldState['loaded']=true; 
 
      this.setState(oldState); 
 
     }.bind(this)); 
 
    }, 
 

 
    componentDidMount: function() { 
 
     if(!this.state.loaded) { 
 
      this.loadPages(); 
 
     } 
 
    }, 
 

 
    render: function(){ 
 
     console.log(this.state.chatrooms); 
 
     return (
 
       <div></div> 
 
      ); 
 
    } 
 

 
});

浏览器中显示行<div></div>误差为Uncaught SyntaxError: Unexpected token <。我在网上检查了语法,它对我来说很好。

+0

您是否将JSX中的代码转换为常规JavaScript? – magnudae 2015-03-03 12:50:18

回答

1

尝试添加JSX编译的JSX文件的顶部:

/** @jsx React.DOM */ 

这是告诉编译器使用的JSX指令的浏览器。

+1

作为0.12的一部分,你不应该再需要它了。 – WiredPrairie 2015-03-04 11:13:10

1

您必须使用<script type="text/javascript">代替<script type="text/jsx">

+0

在这里:http://facebook.github.io/react/docs/tooling-integration.html了解更多信息。 – WiredPrairie 2015-03-04 11:13:37