2015-03-03 37 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