useWebSocket
用于处理 WebSocket 的 Hook。
基础使用
useWebSocket接受一个string的socket地址,返回一个集合对象。 上面例子中接受参数使用了latestMessage来获取最新一次通讯的event对象。
也可以使用onMessage来获取event对象,如下
Api
Params
参数 | 说明 | 类型 | 默认值 |
socketUrl | 必填,webSocket 地址 | string | - |
options | 选填,连接配置项 | options | - |
Options
参数 | 说明 | 类型 | 默认值 |
onOpen | 选填,webSocket 连接成功回调 | (event: WebSocketEventMap['open']) => void | - |
onClose | 选填,webSocket 连接成功回调 | (event: WebSocketEventMap['close']) => void | - |
onMessage | 选填,webSocket 收到消息回调 | (message: WebSocketEventMap['message']) => void | - |
onError | 选填,webSocket 错误回调 | (event: WebSocketEventMap['error']) => void | - |
reconnectLimit | 选填,重试次数 | number | 3 |
reconnectInterval | 选填,重试时间间隔(ms) | number | 3000 |
manual | 选填,手动启动连接 | boolean | false |
Result
参数 | 说明 | 类型 |
latestMessage | 最新消息 | WebSocketEventMap['message'] |
sendMessage | 发送消息函数 | WebSocket['send'] |
disconnect | 手动断开 webSocket 连接 | () => void |
connect | 手动连接 webSocket,如果当前已有连接,则关闭后重新连接 | () => void |
readyState | 当前 webSocket 连接状态 | ReadyState |
webSocketIns | webSocket 实例 | WebSocket |
最后更新于