diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index a1512b8..4bf4e06 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -108,6 +108,7 @@ const Meeting: React.FC = () => { pageSize: 10, }) const [roomUserList, setRoomUserList] = useState([]) + const [chatList, setChatList] = useState([]) const [list] = useState([1, 2, 3, 4, 5, 6, 7]) const [open, setOpen] = useState(false) @@ -134,7 +135,8 @@ const Meeting: React.FC = () => { useEffect(() => { roomUserList.forEach((item: any) => { let dom = document.getElementById(`video-${item.account}`) as HTMLElement - if (!dom.hasChildNodes()) { + if (!dom.getAttribute('load')) { + dom.setAttribute('load', 'true') agora.setVideo({ account: Number(item.account), view: dom, @@ -145,8 +147,11 @@ const Meeting: React.FC = () => { }, [roomUserList]); useEffect(() => { - onSignalr((message: any) => { - console.log(message,'嘻嘻嘻'); + onSignalr((item: any) => { + console.log(item); + const newChatList = [...chatList] + newChatList.push(item) + setChatList(newChatList) }) }, []) // 操作按钮 @@ -401,18 +406,20 @@ const Meeting: React.FC = () => { }} />
- {list.map((item: number) => -
+ {chatList.map((item: any, index: number) => +
- 潇潇 + {item.userName}
-
哈哈哈哈
+
{item.message}
)}
- { + { setTextMsg(e.target.value) }}>
diff --git a/src/utils/package/signalr.ts b/src/utils/package/signalr.ts index ce80229..1f9e5e4 100644 --- a/src/utils/package/signalr.ts +++ b/src/utils/package/signalr.ts @@ -17,8 +17,10 @@ export const startSignalr = () => { } export const onSignalr = (callBack: Function) => { - connection.on("ReceiveMessage", (message: any) => { - callBack(message) + connection.on("ReceiveMessage", (uid: string, userName: string, message: string) => { + callBack({ + uid, message, userName + }) }); } export const onInvoke = (str: string, data: any) => {