Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 广告合作
  • 赞助一下
  • 关于我们
资源推荐
AiPPT
全智能AI一键生成 PPT
茅茅虫
茅茅虫AI论文写作助手,AIGC论文查重
奇绘馆AI视频
新一代AI视频创作平台
必火AI
数字人一站式创作平台
宝塔服务器面板
简单好用的服务器运维面板
闪电玩
H5游戏官方平台,提供好玩的网络游戏
免费资源下载中心
一站式解决工作学习需求的宝藏网站
3387游戏盒子
提供热门折扣手游,助你轻松畅玩各种类型的游戏
任推邦
APP推广项目分发和流量变现平台
仙宫云
GPU算力租赁,云算力在线租赁平台

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
网站收录 / 问题反馈

zustand

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

网站地址:https://zustand-demo.pmnd.rs/
GitHub:https://github.com/pmndrs/zustand
网站描述:React 状态管理库
访问官网
GitHub

Zustand是一个用于管理状态的现代react状态库。它提供了简洁、可扩展和高效的状态管理解决方案,使得在React应用中处理复杂的状态逻辑变得更加容易和直观。


zustand特点

  • 更少的样板代码。
  • Zustand 只在 state 的值改变时渲染组件, 通常可以处理状态的改变而无需渲染代码。
  • 状态管理通过简单定义的操作进行集中和更新, 在这方面和 Redux 类似, 但是又和 Redux 不太类似, Redux 开发必须创建 reducer、action、dispatch来处理状态, Zustand 让它变得更加容易。
  • 使用 hooks 来管理 states, Hooks 在 react 中很流行, 因此是一个很受欢迎的状态管理库。
  • Zustand 使用简单使用和简单实现的代码。
  • 通过消除使用 Context Provides 从而使代码更短、更易读。


使用方式

zustand是基于发布订阅模式实现的一个状态管理库,可以不局限于仅在react项目中使用,不过对react的支持是官方实现的,使用起来也非常简洁,使用示例如下

// 在js项目中使用,不需要类型
import { create } from "zustand";

const initStateCreateFunc = (set) => ({
  bears: 0,
  increase: (by) => set((state) => ({ bears: state.bears + by })),
});

const useBearStore = create(initStateCreateFunc);

ts项目,需要类型提示

import { create } from "zustand";

interface BearState {
  bears: number;
  increase: (by: number) => void;
}

const initStateCreateFunc = (set) => ({
  bears: 0,
  increase: (by) => set((state) => ({ bears: state.bears + by })),
});

const useBearStore = create<BearState>()(initStateCreateFunc);

如上文代码,在调用create函数后,会生成一个useStore的 hook,这个 hook 基本的使用方式和redux的useSelector的一模一样

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

function Controls() {
  const increase = useBearStore((state) => state.increase);
  return <button onClick={increase}>one up</button>;
}


仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/4146

更多»
热门资源
swiper
目前应用较广泛的移动端网页触摸内容滑动js插件
官网
GitHub
layer
layer是一款口碑极佳的web弹层组件
点击进入
GitHub
iScroll.js
IScroll是移动页面上被使用的一款仿系统滚动插件。
官网
GitHub
wangEditor
基于javascript和css开发的 Web富文本编辑器
官网
GitHub
ueditor
由百度web前端研发部开发所见即所得富文本web编辑器
官网
GitHub
highlight
Highlight.js 是一个用 JavaScript 写的代码高亮插件,在客户端和服务端都能工作。
官网
GitHub
UglifyJS
一个js 解释器、最小化器、压缩器、美化器工具集
官网
GitHub
lozad.js
高性能,轻量级,可配置的懒加载图片工具
官网
GitHub
Sortable.js
简单灵活的 JavaScript 拖放排序插件
官网
GitHub
validate.js
表单提供了强大的验证功能,让客户端表单验证变得更简单
官网
GitHub
Draggin.js
一款兼容移动手机的js拖拽插件
官网
GitHub
lazysizes.js
响应式图像延迟加载JS插件【懒加载】
官网
GitHub
类似于zustand的资源
trix
Basecamp 团队推出的富文本编辑器
官网
GitHub
JavaScript-Load-Image
一个用于加载以File或Blob对象提供的图像或通过URL加载的库
官网
GitHub
rapid.js
类似ORM的接口和用于API请求的路由器
官网
GitHub
react-cool-virtual
一个微小的 React 钩子
点击进入
GitHub
bounce.js
可视化CSS3动画代码生成js库插件
官网
GitHub
pangu.js
中英文间插入空格
点击进入
GitHub
Proton
一个 JavaScript 粒子引擎
官网
GitHub
galleria
JavaScript图片库
官网
GitHub
目录

手机扫一扫预览

》
分享组件加载中...
首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架 实用工具箱 广告合作 关于我们

Copyright © 2018 Web前端开发网 All Rights Reserved. 提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。