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组件则使用状态存储中的increasePopulation和removeAllBears方法来改变bears的值。
Zustand的优点是简单、轻量级,API简洁易懂。与Redux相比,Zustand没有那么多的概念和规则,更容易上手。可读性强