React.useEffect(() => {
socket
.on(conversationName, (message) => {
// push into list messages a new one
});
}, [conversationName]);
Run Code Online (Sandbox Code Playgroud)
当用户在侧边栏上选择一个对话时,对话名称将从后端发回并存储在名为 的 React 状态中conversationName。我使用 useEffect 来捕获该更改
此外,套接字正在侦听事件名称conversationName以获取新消息。
我的问题是当用户n次切换回特定对话时,发送的消息将被重复n次
例如,有 2 个对话,分别称为 A 和 B。他单击 A,聊天一些消息,单击 B,然后单击返回 A。从现在开始,他发送的任何消息都会重复 2 次。
寻求一些建议,非常感谢各位!
let vec_macro = vec![0, 1, 2, 3, 4];
let mut vec = Vec::new();
for i in 0..5 {
vec.push(i)
}
println!("Capacity of vec with macro: {}", vec_macro.capacity());
println!("Capacity of vec push: {}", vec.capacity());
// Result:
// Capacity of vec with macro: 5
// Capacity of vec push: 8
Run Code Online (Sandbox Code Playgroud)
我创建了 2 个向量,第一个向量带有宏vec!,第二个向量带有Vec::new(),然后我将项目从 0 推入到它们中。预期的结果是这两个向量的容量相同,但事实并非如此。这是实施中的错误吗vec!?