[React] 求助: react hooks zustand setTimeout

2023-06-08 16:37:47 +08:00
 yxcoder

zustand store 中存储了一个 timer 保存计时器

dataMap[id] = {
    ...
    timer
    ...
}


useBus(
    type, 
    ()=>{
    	...
    	updateTime()
        ...
    }
)

updateTime = (id) => {
    console.log(dataMap[id].timer)      --------- ( 1 )
    clearTimeout(dataMap[id].timer)
    const timer = setTimeout(()=>{
    	...
    }, 1000)
    store.updateDataMap(id, timer)
}

store.updateDataMap: (id, timer) => set((data)=>{
	data[id].timer = timer
    return data
})

发现每次( 1 )处打印的都是第一次的 timer, 后面的 updateDataMap 似乎没有起作用

求助

问题出在哪里?

554 次点击
所在节点    前端开发
1 条回复
FrankFang128
2023-06-08 16:41:23 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/947034

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX