渲染函数语法中的ReactJS错误

时间:2015-03-03 11:49:57

标签: javascript reactjs

我写了一个反应类,但Chrome在渲染函数中抛出了语法错误。

我在这里附上代码:



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>
            );
    }

});
&#13;
&#13;
&#13;

浏览器将<div></div>行中的错误显示为Uncaught SyntaxError: Unexpected token <。我在线检查了语法,对我来说看起来不错。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

/** @jsx React.DOM */

这告诉浏览器使用JSX指令。