Redux 替代品 Zustand

简介: Zustand 它使用 hooks 来管理状态

还在学 Redux?不妨提前学下它以后的替代品!——Zustand(zustand 就是 react 的 pinia)。


Zustand 是由 Jotai 和 React springs 的开发人员构建的快速且可扩展的状态管理解决方案, Zustand 以简单被大家所知, 它使用 hooks 来管理状态。


快速开始


安装依赖

npm install zustand # or yarn add zustand


通过 create 函数创建 store,回调可拿到 get set 就类似 Redux 的 getState 与 setState,可以获取 store 瞬时值与修改 store。返回一个 hook 可以在 React 组件中访问 store。



import { create } from 'zustand'
const useStore = create(set => ({  count: 1,  inc: () => set(state => ({ count: state.count + 1 })),}))
function Controls() {  const inc = useStore(state => state.inc)  return <button onClick={inc}>one up</button>}
function Counter() {  const count = useStore(state => state.count)  return <h1>{count}</h1>  }


Zustand 和 Redux 一样,都是将状态保存在一个对象里,当然你可以创建多个 store 来分离状态,但他们在逻辑上是分开的。(与之相对的是 recoil / jotai 的原子化状态管理工具)


社区主流方案是 react-redux,其本质上基于 React 的 Context 特性实现,如果应用足够简单,实际上用 Context 手写一个简单的状态管理工具倒也并不难。不过,考虑到工具的完善性、项目的健壮性,通常采用较好的、成熟的社区方案。在移动端场景下,react-redux 略显臃肿,轻量级状态管理工具 zustand 倒是一个不错的替代方案。


相关文章
|
3天前
|
存储 JavaScript 前端开发
掌握现代Web开发的基石:深入理解React与Redux
【10月更文挑战第14天】掌握现代Web开发的基石:深入理解React与Redux
10 0
|
存储 前端开发 JavaScript
ahooks 正式发布:值得拥抱的 React Hooks 工具库
ahook定位于一套基于 React Hooks 的工具库,核心围绕 React Hooks 的逻辑封装能力,降低代码复杂度和避免团队的重复建设为背景,共同建设和维护阿里经济体层面的 React Hooks 库。
22668 1
ahooks 正式发布:值得拥抱的 React Hooks 工具库
|
2月前
|
JavaScript 前端开发 安全
|
5月前
|
缓存 前端开发 API
探索 React Hooks 的世界:如何构建出色的组件(上)
探索 React Hooks 的世界:如何构建出色的组件(上)
探索 React Hooks 的世界:如何构建出色的组件(上)
|
5月前
|
存储 前端开发 JavaScript
探索 React Hooks 的世界:如何构建出色的组件(下)
探索 React Hooks 的世界:如何构建出色的组件(下)
探索 React Hooks 的世界:如何构建出色的组件(下)
|
5月前
|
存储 JavaScript 开发者
Mobx+Mobx-React快速上手 简单可扩展的状态管理解决方案
Mobx+Mobx-React快速上手 简单可扩展的状态管理解决方案
79 0
|
5月前
|
前端开发 JavaScript 开发者
【第48期】一文了解React几个流行的工具和库
【第48期】一文了解React几个流行的工具和库
67 0
|
12月前
|
编解码 前端开发 JavaScript
分享几个上千的React开源库助你玩转React
分享几个上千的React开源库助你玩转React
|
前端开发 JavaScript 容器
React的魅力: React-Router-集中式管理和Redux-核心概念
React的魅力: React-Router-集中式管理和Redux-核心概念
67 1
|
前端开发 JavaScript 算法
个人开源的 React like 框架
一个完善的React like 框架,开箱即用