Zustand

210 阅读1分钟

Zustand是一个简单、轻量级的状态管理库,它的核心思想是提供一个可以全局访问的状态存储,并且可以在任何地方更新这个状态。Zustand非常灵活,可以应用于React项目,也可以脱离React单独使用。

Zustand的使用方式如下:

首先,你需要创建一个状态存储。在这个存储中,你可以定义你的状态以及改变状态的方法:

import create from 'zustand'

const useStore = create(set => ({
  bears: 0,
  increasePopulation: () => set(state => ({ bears: state.bears + 1 })),
  removeAllBears: () => set({ bears: 0 })
}))

然后,你就可以在你的组件中使用这个状态存储了:

function BearCounter() {
  const bears = useStore(state => state.bears)
  return <h1>{bears} around here ...</h1>
}

function Controls() {
  const increasePopulation = useStore(state => state.increasePopulation)
  const removeAllBears = useStore(state => state.removeAllBears)
  return (
    <div>
      <button onClick={increasePopulation}>One up</button>
      <button onClick={removeAllBears}>Remove all</button>
    </div>
  )
}

在上面的例子中,BearCounter组件从状态存储中读取bears的值,并显示在页面上。Controls组件则使用状态存储中的increasePopulationremoveAllBears方法来改变bears的值。

Zustand的优点是简单、轻量级,API简洁易懂。与Redux相比,Zustand没有那么多的概念和规则,更容易上手。可读性强