【发布时间】:2021-10-02 11:41:14
【问题描述】:
我有一个状态
const [data, setData] = useState("");
还有 2 个在组件渲染时并行调用的 useEffects
useEffect(() => {
socket.on("message",()=>{
console.log(data)
})
}, [socket])
useEffect(() => {
const res = getDataFromServer()
setData(res.data)
}, [isLoading])
第二个 useEffect 从服务器获取数据并设置状态,但是当套接字到达第一个 useEffect 数据时,初始状态为空。当套接字到达时,如何在第一个 useEffect 中获取更新的状态数据。如果我将数据设置为第一个 useEffect 的依赖项,则重新初始化套接字事件并多次调用回调。
【问题讨论】: