2014-11-24 86 views
1

我一直在尋找這個錯誤,但沒有找到任何地方。我是React的新手,並遵循一些教程。一切都已經達到了我試圖將數組映射到組件的程度。Reactjs地圖返回意外的令牌}

所以我用虛擬數據在一個較小的形式

var data = [ 
    {name: 'You', text: 'Test'}, 
    {name: 'Me', text: 'Testing'} 
]; 

現在我想打印出一個評論系統來測試這個功能,現在我只是想打印出來的名字的用戶。 我給我的應用程序組件的數據,它給了消息列表。在那裏,我試圖將它們打印到盒子中。

var MessageList = React.createClass({ 
    render: function() { 
     var messages = this.props.data.map(function(msg) { 
      return <MessageBox name={msg.name} /> 
     }); //**** ERROR HERE **** 
     return {messages}; 
    } 
}); 

我指出了發生錯誤的那一行。

Uncaught SyntaxError: Unexpected token }

我不認爲我需要添加任何額外的信息,因爲所有其他功能均工作正常,這是返回一個錯誤的唯一的事情。 希望你們能幫助我。

回答

4

由於messages是一個數組,你的組件應該返回一個單一的元素,你應該與其他組件包起來:

return (<div>{messages}</div>); 
+0

這樣的作品,非常感謝! – 2014-11-24 15:22:44

+0

另請參閱[此答案](http://stackoverflow.com/a/26876829/1074592)。您只需要'{expression}'就可以轉義JSX上下文。例如'return foo' vs'return

{foo}
'。 – FakeRainBrigand 2014-11-24 15:59:29