socket.io-client 前端一直监听发送不了消息到服务端
資深大佬 : pin621 5
//SocketProvider.tsx
import React, { useContext, useEffect, useState } from 'react'; import { io } from 'socket.io-client'; /** * 创建 context */ const SocketContext = React.createContext(null) /** * 调用 socket */ export function useSocket() { return useContext(SocketContext) } /** * 提供 socket * @param children 子组件 */ export function SocketProvider({ children }) { const [socket, setSocket] = useState() useEffect(()=>{ const newSocket = io('ws://localhost:7001') setSocket(newSocket) return () => newSocket.close() }, []) return ( <SocketContext.Provider value={socket}> {children} </SocketContext.Provider> ) }
//app.tsx 中使用 SocketProvider
<SocketProvider> {children} </SocketProvider>
//子组件中调用 socket
const socket= useSocket() console.log(socket)
//控制台 socket 对象
acks: proto: Object connected: false disconnected: true
大佬有話說 (2)