在 React 中你需要将它添加到你useEffect的return
js
useEffect(() => {
const socket = new WebSocket(address);
return () => {
if (socket.readyState === 1) { // <-- This is important
socket.close();
}
}
}, []);
然而,这不仅仅是最好的解决方案!您需要使用钩子,而不是直接在视图/组件中使用套接字连接,它可以防止多次创建套接字连接。
此外,无论前端是否正在通信,如果套接字连接未使用,后端都应关闭该连接。