const data = [{happenTime:'时间', location:'位置',deviceIp:'IP',eventName:'事件类型',status:'处理信息',isMake:0,image:undefined}]
const [currentData,setCurrentData] = useState(data)
useEffect(()=>{
if(sessionStorage.currentData){
let arr = JSON.parse(sessionStorage.currentData)
setCurrentData([...data,...arr])
}
let wsurl = `ws://xxxxxx/nebula/webSocket/admin`
let websocket:any = new WebSocket(wsurl)
websocket.onmessage = (event:any) => {
let arrObj = sessionStorage.currentData?JSON.parse(sessionStorage.currentData):[]
if(event.data.length > 15){
let websocketData = JSON.parse(event.data)
if (websocketData ) {
arrObj.unshift(websocketData)
sessionStorage.currentData = JSON.stringify(arrObj)
setCurrentData([...data, ...arrObj])
console.log('this.websocketData==',[...data, ...arrObj])
}
}
}
return () =>{
try{
websocket.close()
}catch (e) {
}
}
},[])
react websocket useState
最新推荐文章于 2024-04-01 08:44:48 发布