React Typescript socket.io-io.connect 上的客户端 Typescript 错误

React Typescript socket.io-client Typescript error on io.connect

我将 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"] });

我在 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)

我希望错误消失,但当然,我不知道如何摆脱它。这是我的 tsx 文件中唯一的错误。

值得一提的是,这是一个基于 class 的组件。 IO 是这样导入的:

import { io } from 'socket.io-client';

并且在 class 初始化之前分配类型:

let socket: any;

看文档发现IO连接的使用方式如下:

io(`ws://${WS_DOMAIN}:${WS_PORT}`, { transports: ["websocket"] });

所以没有 io.connect 部分

这也解决了我的问题。希望这对可能遇到类似问题的人有所帮助。