【发布时间】:2021-12-28 02:57:31
【问题描述】:
我有消息列表,并附加从套接字接收的实时消息,从套接字插入一个对象,但之后它总是替换最后一个而不是插入新的。
const [chatList, setChatList] = useState(props.chatList ? props.chatList : []);
useEffect(() => {
const messageListener = (message) => {
console.log('message',message);
console.log('chatList',chatList);
if(message.conversation_id == props.conversation_id){
const updatedMsgs = [...chatList,message];
setChatList(updatedMsgs);
}
};
socket.on('myEventName', messageListener);
return () => {
socket.off('myEventName', messageListener);
};
}, [props.conversation_id]);
【问题讨论】:
标签: javascript reactjs react-hooks use-effect use-state