2017-07-19 26 views
0

這是引發錯誤的代碼部分:錯誤:對象是不是一個陣營的孩子有效(發現:與鍵{內容,作者}對象)

session.subscribe("acme/channel", function(uri, payload){ 

     console.log("Received message", payload.author); 

     var myObject = { 
     'content': payload.message, 
     'author': { 'username' : payload.author }, 
     } 

     var newMessages = this.state.messages; 
     newMessages.push(myObject); 
     this.setState({messages: newMessages}); 

     }.bind(this)); 

我不知道爲什麼但是當我使用'author': { 'username' : payload.author }時,它不喜歡它,但它可以使用像這樣的硬編碼字符串:'author': { 'username' : "Mit" }

這個問題不從「payload.author」來,因爲這也適用:

var myObject = { 
     'content': payload.author, 
     'author': { 'username' : "Mit" }, 
     } 

任何想法如何解決這一問題?

+2

render()函數是什麼樣的?通常在渲染時引發該錯誤,而不是設置狀態本身。 – ivarni

回答

0

它的工作通過添加一個空字符串:

var myObject = { 
     'content': payload.msg, 
     'author': { 'username' : payload.author + ""}, 
     } 

我不知道爲什麼這樣做,如果有人有一個更好的解釋,我可以紀念他的答案。

相關問題