TS项目中需要用到socket.io的lib,由于没有自带的类型声明,我这边在index.d.ts中声明了一下模块,如下:
使用的时候, 想为socket的实例指定类型,下面这里XXX应该怎么写?
需要自己根据socket.io的接口来定义个class,然后在这里用吗?
import io from 'socket.io-client';
//这里的XXX应该怎么写?
const [socketIns, setSocket] = useState<XXX>(null);
useEffect(() => {
//创建websock连接,并监听
const socket = io.connect(`${serverPath}/webide`, {
transports: ['websocket'],
});
setSocket(socket);
},[])
npm install @types/socket.io-client
很多模块都需要同时安装@types/模块名称的。
可以参考这里。
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。