当前位置: 首页 > news >正文

庆网站建设管理咨询公司组织架构

庆网站建设,管理咨询公司组织架构,wordpress边栏代码,企业官网网站建设报价文章目录 1.Zustand介绍2.创建一个store3.使用方法3.1 获取状态3.2 更新状态3.3 访问存储状态3.4 处理异步数据3.5 在状态中访问和存储数组3.6 持续状态 4.总结 1.Zustand介绍 状态管理一直是现代程序应用中的重要组成部分, Zustand使用 hooks 来管理状态无需样板代码。 更少… 文章目录 1.Zustand介绍2.创建一个store3.使用方法3.1 获取状态3.2 更新状态3.3 访问存储状态3.4 处理异步数据3.5 在状态中访问和存储数组3.6 持续状态 4.总结 1.Zustand介绍 状态管理一直是现代程序应用中的重要组成部分, Zustand使用 hooks 来管理状态无需样板代码。 更少的样板代码。Zustand 只在 state 的值改变时渲染组件, 通常可以处理状态的改变而无需渲染代码。状态管理通过简单定义的操作进行集中和更新, 在这方面和 Redux 类似, 但是又和 Redux 不太类似, Redux 开发必须创建 reducer、action、dispatch来处理状态, Zustand 让它变得更加容易。使用 hooks 来管理 states, Hooks 在 react 中很流行, 因此是一个很受欢迎的状态管理库。Zustand 使用简单使用和简单实现的代码。通过消除使用 Context Provides 从而使代码更短、更易读。 npm install zustand2.创建一个store import create from zustand// define the store const useStore create(set ({count: 0 }))export default useStore若第二个参数不传或为 false 时, 新状态将会和create方法原来的返回值进行融合 (默认为false)。 若第二个值为 true 时, 新状态会覆盖原始状态。 可以利用这个特性清空 store。 3.使用方法 3.1 获取状态 import useStore from ./store;const count useStore(state state.count 1)return (divh1count: {count}/h1/div);3.2 更新状态 js import create from zustand// define the store const useStore create(set ({count: 0,increment: () set(state ({count: state.count 1})) }))export default useStore使用: import useStore from ./store;const inc useStore(state state.increment)return (divh3count: {count}/h3br/button onClick{inc}1/button/div );3.3 访问存储状态 当我们定义上面的状态时, 我们使用 set() 方法, 假设我们在一个程序里, 我们需要存储 其他地方 的值添加到我们的状态, 为此, 我们将使用 Zustand 提供的方法 get() 代替, 此方法允许多个状态使用相同的值。 const useStore create((set,get) ({count: 0,action: () {// 使用 get()const getState get().count// ...} })); 3.4 处理异步数据 Zustand 让存储异步数据变得容易, 这里, 我们只需要发出 fetch 请求和 set() 方法来设置我们的状态值。 const useStore create((set) ({count: {},getData: async (data) {const response await fetch(data)set({ count: await response.json() })}, }))const asyncInc useAppStore(state state.getData)3.5 在状态中访问和存储数组 const useStore create(set ({fruits: [apple, banana, orange],addFruits: (fruit) {set(state ({fruits: [...state.fruits, fruit]}));} }));创建了一个 store 包含了 fruits state, 其中包含了一系列水果, 第二个参数是 addFruits , 接受一个参数 fruit 并运行一个函数来得到 fruits state 和 新增的 fruits, 第二个变量用于更新我们存储状态的值 const fruits useStore((state) state.fruits); const addFruits useStore((state) state.addFruits); const inputRef useRef(); const addFruit () {addFruits(inputRef.current.value);inputRef.current.value ; }; return (div classNameApph1I have {fruits.length} fruits in my basket/h1pAdd a new fruit/pinput ref{inputRef} /button onClick{addFruit}Add a fruit/button{fruits.map((fruit) (p key{fruit}{fruit}/p))}/div );3.6 持续状态 状态管理库的一个共同特点是持久化状态, 例如: 在有 form 的网站中, 你希望保存用户信息, 如果用户不小心刷新了页面, 你会丢失所有数据记录. 在我们的应用中, 刷新时, 添加到状态的数据会丢失。 Zustand 提供了持久化状态以防止数据丢失的功能, 这个功能, 我们将使用 Zustand 提供的名为 persist 的中间件, 该中间件通过 localStorage 来持久化来自应用程序的数据, 这样, 当我们刷新页面或者完全关闭页面时, 状态不会重置。 import {persist} from zustand/middleware // and modify our existing statelet store (set) ({fruits: [apple, banana, orange],addFruits: (fruit) {set((state) ({fruits: [...state.fruits, fruit],}));}, }); // persist the created state store persist(store, {name: basket}) // create the store const useStore create(store);持久化了 store 的值, localStorage 的 key 设为 basket, 有了这个, 我们在刷新页面时不会丢失新增的数据, 永久保存(即: 在执行清除本地存储的操作之前, 状态保持不变) 4.总结 Zustand 是由 Jotai 和 React springs 的开发人员构建的快速且可扩展的状态管理解决方案。 Zustand是状态管理器和观察者模式的代表。
http://www.w-s-a.com/news/544110/

相关文章:

  • 北京企业做网站杭州seo中心
  • 护肤品网站建设前的行业分析wordpress电子书模板
  • 做网站怎么销售.net开发网站怎么样
  • 蚌埠网站优化网站换空间wordpress
  • 微网站开发框架公司企业logo
  • 大淘客官网做的网站打不开网站建设完成
  • 婚纱摄影网站模板让别人做网站怎样才安全
  • 技术支持 骏域网站建设专家佛山网站运营管理教材
  • 个体营业执照可以做网站服务吗电商运营学校培训
  • 企业网站免费推广的方法.wordpress 爱情模板下载地址
  • 轻淘客 轻网站怎么做手机开发人员选项怎么打开
  • 天津做网站制作公司html网站 下载
  • 哪个网站的课件做的好crm客户管理系统全称
  • 网站建设工作室创业计划书seo是什么职位的简称
  • o2o平台网站开发什么是白帽seo
  • 免费建个人手机网站WordPress 简历库
  • 建网站 是否 数据库阳瘘的最佳治疗方法是什么
  • 知晓程序网站怎么做网站基础维护
  • 兼职做网站赚钱吗图片设计制作哪个软件好手机
  • 做手机旅游网站智慧校园登录入口
  • 莆田网站建设维护国外极简网站
  • 百度怎样收录网站缪斯设计集团
  • 网站建设在开封找谁做wordpress 数据转换
  • 旅游网站开发的流程江苏付费网络推广培训
  • 网站软文标题2018wordpress主题
  • 德清网站设计wordpress免登录发布接
  • 可以做游戏的网站有哪些客户关系管理系统的主要功能
  • 整人关不掉的网站怎么做广东省网站免备案表
  • 网站设计素材edu域名网站
  • 中山学校的网站建设wordpress文章图片显示不出