readme 中的用法是将actions放入store中

export const useStore = create((set) => ({
  count: 0,
  text: 'hello',
  inc: () => set((state) => ({ count: state.count + 1 })),
  setText: (text) => set({ text }),
})

这将创建一个带有actions的自包含store


另一种方法是在模块级别定义操作

export const useStore = create(() => ({
  count: 0,
  text: 'hello',
})

export const inc = () => useStore.setState((state) => ({ count: state.count + 1 }))

export const setText = (text) => useStore.setState({ text })

这更有效,因为:

  • 它不需要一个hook来获取一个action,并且
  • 代码拆分是可能的。

发表评论

您的电子邮箱地址不会被公开。