2017-07-19 76 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 + ""}, 
     } 

我不知道为什么这样做,如果有人有一个更好的解释,我可以纪念他的答案。

相关问题