当前位置: 首页 > article >正文

websocket 在 react 中使用

一、原生 WebSocket API

import React, { useEffect, useState } from "react";

const MyComponent = () => {

  const [socket, setSocket] = useState(null);

  const [message, setMessage] = useState("");

  useEffect(() => {

    const newSocket = new WebSocket("ws://localhost:8080");

    newSocket.addEventListener("open", () => {

      console.log("WebSocket连接已打开");

    });

    newSocket.addEventListener("message", (event) => {

      setMessage(event.data);

    });

    newSocket.addEventListener("close", () => {

      console.log("WebSocket连接已关闭");

    });

    newSocket.addEventListener("error", (error) => {

      console.log("WebSocket出错:", error);

    });

    setSocket(newSocket);

    return () => {

      // 组件卸载时关闭WebSocket连接

      if (newSocket) {

        newSocket.close();

      }

    };

  }, []);

  const sendMessage = () => {

    if (socket) {

      socket.send("你好,服务器!");

    }

  };

  return (

    <div>

      <p>收到的消息:{message}</p>

      <button onClick={sendMessage}>发送消息</button>

    </div>

  );

};

export default MyComponent;


http://www.kler.cn/a/452072.html

相关文章:

  • unity弹出新的类似独立场景窗口独立运行一般怎么实现?
  • CH32V307VCT6---工程template创建
  • XXLJob部署和使用教程
  • Unity中LineRenderer使用MeshCollider方法参考
  • 100V宽压输入反激隔离电源,适用于N道沟MOSFET或GaN或5V栅极驱动器,无需光耦合
  • leetcode之hot100---2两数相加(C++)
  • 《OpenCV计算机视觉》-对图片的各种操作(均值、方框、高斯、中值滤波处理)及形态学处理
  • Next.js 14 性能优化:从首屏加载到运行时优化的最佳实践
  • WonderWorld 部署笔记
  • 如何在网页端使用 IDE 高效地阅读 GitHub 源码?
  • 使用Python实现基于图像处理的文档扫描仪:数字化管理的利器
  • git仓库的基本概念和流程以及一些基本命令
  • 【大语言模型】ACL2024论文-32 GradSafe: 通过安全关键梯度分析检测大型语言模型的不安全提示
  • 拆解Java中——“ 注解 ”和“ 注释 ” 的一切区别Ⅱ
  • Vue3中404页面捕获(图文详情)
  • 重大灾害无人机应急处理技术详解
  • 【作业】LSTM
  • Linux系统编程之目录操作
  • 如何确保数据大屏的交互设计符合用户需求?(附实践资料下载)
  • 3D制图软件SOLIDWORKS:开启高效设计与创新的新纪元
  • python爬虫爬抖音小店商品数据+数据可视化
  • 自动驾驶AVM环视算法--python版本的车轮投影模式
  • 云手机与Temu矩阵:跨境电商运营新引擎
  • 从零到一:如何快速生成和优化Prompt
  • Webpack学习笔记(5)
  • Ubuntu vi(vim)编辑器配置一键补全main函数