gpt4 book ai didi

reactjs - 将对象添加到数组(使用 React 中的 Hooks)

转载 作者:行者123 更新时间:2023-12-02 03:08:13 25 4
gpt4 key购买 nike

我想使用 Hooks 将一个对象添加到 React 数组中,我正在聊天,我想向消息数组中添加一条新消息,

我尝试过这个:

setMessages([...messages, newMessage]);

这里是更多代码:

const [messages, setMessages] = useState(false);

useEffect(() => {
socket.open();

loadMessages();

return () => {
socket.close();
};
}, []);

useEffect(() => {
socket.on("send message", data => {
setMessages([...messages, data]);
});

socket.on("delete message", data => {
setMessages(messages.filter(message => message.id !== data.id));
});
});

async function loadMessages() {
try {
const dataMessages = await axios.get(
`http://localhost:5000/api/chat/messages`
);
setMessages(dataMessages.data);
} catch (error) {
console.log(error);
}
}

但是我得到了TypeError:“messages is not iterable”,

有人可以帮助我吗?谢谢!

最佳答案

您正在将消息设置为 bool 值改变这个

const [messages, setMessages] = useState(false);

const [messages, setMessages] = useState([]);

然后向数组添加元素,也不要改变消息数组。

希望对你有帮助

关于reactjs - 将对象添加到数组(使用 React 中的 Hooks),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58429461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com