perf: 优化以前代码
This commit is contained in:
@@ -1,16 +1,17 @@
|
||||
import { Container, RenderData, ContainerOne } from '@kevisual/container';
|
||||
import { Container } from '@kevisual/container';
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import { replace, useParams } from 'react-router';
|
||||
import { query, ws, useStore } from '@/modules';
|
||||
import { useParams } from 'react-router';
|
||||
import { query } from '@/modules';
|
||||
|
||||
import { message } from '@/modules/message';
|
||||
export const useListener = (id?: string, opts?: any) => {
|
||||
const { refresh } = opts || {};
|
||||
const connected = useStore((state) => state.connected);
|
||||
const [connected, setConnected] = useState(false);
|
||||
// 监听服务器的消息
|
||||
useEffect(() => {
|
||||
if (!id) return;
|
||||
if (!connected) return;
|
||||
const ws = query.qws.ws;
|
||||
ws.send(
|
||||
JSON.stringify({
|
||||
type: 'subscribe',
|
||||
@@ -31,6 +32,14 @@ export const useListener = (id?: string, opts?: any) => {
|
||||
ws.removeEventListener('message', listener);
|
||||
};
|
||||
}, [id, connected]);
|
||||
const init = async () => {
|
||||
query.qws.listenConnect(() => {
|
||||
setConnected(true);
|
||||
});
|
||||
};
|
||||
useEffect(() => {
|
||||
init();
|
||||
}, []);
|
||||
const listener = (event) => {
|
||||
const parseIfJson = (data: string) => {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user