xyz*_*242 3 socket.io typescript reactjs
我正在使用 React Typescript 和 socket.io-client 4.0.0 和 @types/socket.io-client 3.0.0。就代码而言,一切都很好:
socket = io.connect(`ws://${WS_DOMAIN}:${WS_PORT}`, { transports: ["websocket"] });
Run Code Online (Sandbox Code Playgroud)
我在 io.connect 上收到以下错误:
any
Property 'connect' does not exist on type '{ (opts?: Partial<ManagerOptions &
SocketOptions> | undefined): Socket<DefaultEventsMap, DefaultEventsMap>; (uri: string,
opts?: Partial<...> | undefined): Socket<...>; (uri: string | Partial<...>, opts?:
Partial<...> | undefined): Socket<...>; }'.ts(2339)
Run Code Online (Sandbox Code Playgroud)
我希望错误消失,但当然,我不知道如何消除它。这是我的 tsx 文件中唯一的错误。
值得一提的是,这是一个基于类的组件。IO 的导入方式如下:
import { io } from 'socket.io-client';
Run Code Online (Sandbox Code Playgroud)
并且类型在类初始化之前分配:
let socket: any;
Run Code Online (Sandbox Code Playgroud)
查看文档我注意到IO连接的使用方式如下:
io(`ws://${WS_DOMAIN}:${WS_PORT}`, { transports: ["websocket"] });
Run Code Online (Sandbox Code Playgroud)
所以没有这个io.connect部分
这也解决了我的问题。希望这可以帮助可能遇到类似问题的人。
我会安装“@types/socket.io”,然后在客户端,像这样导入:
import * as io from "socket.io-client";
const socket = io.connect("http://localhost:4000");
Run Code Online (Sandbox Code Playgroud)
它为我清除了错误。
| 归档时间: |
|
| 查看次数: |
4959 次 |
| 最近记录: |