import { useState, useEffect } from 'react'; const SocketContext = React.createContext(); export const SocketContextProvider = (props) => { const [runState, setRunState] = useState(null); const [hisState, setHisState] = useState(null); useEffect(() => { const socket = new WebSocket('ws://172.16.1.55:8081/xc-screen/websocket/1'); socket.onopen = () => { console.log('[*] socket connected!'); }; socket.onmessage = (e) => { if ('data' in e) { console.log('data ===> ', e.data); if (e.data == '连ζŽ₯成功') return; let incommingData = JSON.parse(e.data); switch (incommingData.type) { case 'RunData': console.log('run data arrived, set RunData'); setRunState(incommingData.data); break; case 'HisData': console.log('his data arrived, set HisData'); setHisState(incommingData.data); break; } } }; }, []); return ( {props.children} ); }; export default SocketContext;