const ws = useRef<WebSocket | null>(null);
const [oneDataWs, setOneDataWs] = useState<IweSocket>();
useLayoutEffect(() => {
let url = `${wsIp}/truckScale/${oneData?.id}/1557961576275599361?satoken=60a09da7-70c7-4bc8-9105-bd109e0310e1`;
ws.current = new WebSocket(url);
ws.current.onmessage = (e) => {
// setCountNum(JSON.parse(e.data).count);
// setOneDataWs((item) => {
// item = JSON.parse(e.data)
// return item
// })
setOneDataWs(JSON.parse(e.data));
console.log(JSON.parse(e.data));
};
return () => {
ws.current?.close();
};
}, [oneData?.id, ws]);
本文介绍了一个使用React Hooks和WebSocket实现的实时数据交互组件。通过监听特定URL并解析接收到的消息来更新状态,实现了数据的实时展示。同时,在组件卸载时会关闭WebSocket连接。
4735

被折叠的 条评论
为什么被折叠?



