useEffect中的spread运算符不起作用



我正试图在socket.on的回调函数中更新我的状态。我试图在一个数组中收集所有消息,然而,spread运算符不起作用,因此,它只是更新到最后一个值(第一个元素(。

CCD_ 2仅输出更新的第一元素。可能是什么问题?

感谢

const [messageReceived, setMessageReceived] = useState([]);
useEffect(() => {
socket.on('receive_message', (data) => {
console.log(data);
setMessageReceived([...messageReceived, data.message]);
setIsSent(false);
});
}, [isSent]);

您正在useEffect中使用套接字函数,该函数仅在isSent状态更改时触发,请检查代码中isSent状态是否正确更改。

相关内容

最新更新