在更新状态之后,Reactjs不会复制我的消息

我正在关注这个博客的例子,这个问题在执行之后就引起了我的兴趣

https://github.com/DanialK/ReactJS-Realtime-Chat

总结一下,在通过websocket发送消息之前,消息的状态被更新。 当服务器接收到这个消息时,他们向所有的客户端发送广播,包括我自己。 Thereat,客户端用相同的消息更新状态

为什么这个消息不会出现2次? 我不希望这个消息出现两次,但我想知道为什么会发生

客户代码:

socket.on('send:message', this.messageRecieve); ... handleMessageSubmit : function(message){ Messages.push(message); this.setState({ messages : Messages }); socket.emit('send:message', message); }, messageRecieve: function(message){ Messages.push(message); this.setState({ messages : Messages }); }, 

服务器代码:

 socket.on('send:message', function (data) { socket.broadcast.emit('send:message', { user: name, text: data.text }); }); 

服务器不会将消息发送给连接的用户。

根据socket.io文档,此API将发送给除socket的所有者之外的所有者:

 socket.broadcast.emit('send:message') 

https://github.com/DanialK/ReactJS-Realtime-Chat/blob/master/routes/socket.js