在使用zustand 开发时候,store.ts 定义状态如下:
import { create } from 'zustand'
const useBearStore = create((set) => ({
bears: 0,
increasePopulation: () => set((state) => ({ bears: state.bears + 1 })),
removeAllBears: () => set({ bears: 0 }),
updateBears: () => set(...)
}))
现在有一个需求就是:
1、在初始化bears的时候,需要先fetchAPI得到数据赋予bears
2、fetchAPI并且赋予bears值的时机是①在第一次使用bears状态时候,和②updateBears时候(比如修改数据库之后即时更新bears状态)
3、请问第2个问题是叫懒加载吗?
bears
的初始值
要从fetchAPI异步获取,这样应该不行,要不然set
没啥意义了;或者你可以改造
updateBears
、removeAllBears
、increasePopulation
为异步函数,因为zustand
并不关心set
的过程是否是异步的,可以参考官方提供的以下示例:至于2是不是叫懒加载,感觉两者没啥联系