2014-09-01 57 views
1

我下面這個博客和產生的問題是我實現Reactjs不要重複我的消息後,更新狀態

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

彙總後的例子,之前通過發送郵件的WebSocket的狀態更新消息。 當服務器收到該消息時,他們向所有客戶發送廣播,包括我自己。 Thereat,客戶端更新與此相同的消息的狀態

爲什麼此消息不會出現2次? 我不希望這樣的消息出現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 }); 
}, 

Server代碼:

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

我沒有收到我自己的消息? – patricK 2014-09-01 02:11:46

+0

我們不知道您是否收到此消息,請查看您的日誌並告訴我們。我們不知道這是一個React渲染問題還是一個WebSocket /服務器問題... – 2014-09-01 08:19:06

+0

我問過這個,因爲我懷疑這會是socket.io的行爲... – patricK 2014-09-01 20:48:02

回答