小编Le *_*Huy的帖子

使用 useEffect 时重复 socket.io 侦听器

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 次。

寻求一些建议,非常感谢各位!

sockets socket.io react-hooks

2
推荐指数
1
解决办法
1988
查看次数

用宏创建的向量的容量

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!

rust

1
推荐指数
1
解决办法
423
查看次数

标签 统计

react-hooks ×1

rust ×1

socket.io ×1

sockets ×1