React中“WebSocket is closed before the connection is established“

在 React 中你需要将它添加到你useEffect的return

js 复制代码
useEffect(() => {
 const socket = new WebSocket(address);


 return () => {
   if (socket.readyState === 1) { // <-- This is important
           socket.close();
      }
   }
}, []);

然而,这不仅仅是最好的解决方案!您需要使用钩子,而不是直接在视图/组件中使用套接字连接,它可以防止多次创建套接字连接。

此外,无论前端是否正在通信,如果套接字连接未使用,后端都应关闭该连接。

相关推荐
majingming123几秒前
FUNCTION
java·前端·javascript
A_nanda41 分钟前
Vue项目升级
前端·vue3·vue2
SuperEugene1 小时前
Axios 接口请求规范实战:请求参数 / 响应处理 / 异常兜底,避坑中后台 API 调用混乱|API 与异步请求规范篇
开发语言·前端·javascript·vue.js·前端框架·axios
abigale032 小时前
【浏览器 API / 网络请求 / 文件处理】前端文件上传全流程:从基础上传到断点续传
前端·typescript·文件上传·vue cli
Setsuna_F_Seiei2 小时前
AI 对话应用之页面滚动交互的实现
前端·javascript·ai编程
新缸中之脑2 小时前
追踪来自Agent的Web 流量
前端
wefly20172 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
英俊潇洒美少年3 小时前
vue如何实现react useDeferredvalue和useTransition的效果
前端·vue.js·react.js
kyriewen114 小时前
给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
开发语言·前端·javascript·css·chrome·typescript·ecmascript
英俊潇洒美少年4 小时前
react19和vue3的优缺点 对比
前端·javascript·vue.js·react.js