如何在事件回調中使用 useEffect
我以這樣的代碼運行程式: useEffect(() => { if (!socket) return socket.on('newuserconnected', (username) => { console.log(connectedusers); }); }, [socket]); 這個程式在 socket.io 連接上初始化了一個 newuserconnected 事件的回調。 我假設這樣做後,每當我在服務器上調用該事件時,客戶端(React 應用程序)會在運行時打印變量 connectedusers 的當前值(假設我在應用程序的其他地方對其進行了更新)。 但是事實上,該變量的值在我定義事件的時刻就“凍結”了。 為了解決這個問題,我需要將該變量的值添加到 useEffect 的依賴列表中: useEffect(() => { //... }, [socket, connectedusers]);