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

四六级查成绩网站怎么做嵌入式培训

四六级查成绩网站怎么做,嵌入式培训,网站做seo屏蔽搜索,青岛企业做网站Zustand 是一个轻量、快速且灵活的 React 状态管理库 同步修改 //zustand import { create } from "zustand"//1.创建store//①:函数参数必须返回一个对象 对象内部编写状态数据和方法 //②:set是用来修改数据的专门方法必须调用它来修改数据…

Zustand 是一个轻量、快速且灵活的 React 状态管理库

同步修改

//zustand
import { create } from "zustand"//1.创建store//①:函数参数必须返回一个对象 对象内部编写状态数据和方法
//②:set是用来修改数据的专门方法必须调用它来修改数据
// 语法1:参数是函数, 需要用到老数据的场景
// 语法2:参数直接是一个对象   set({count : 100})
const useStore = create((set)=>{return {//状态数据count: 0,//修改状态数据的方法inc:()=>{set((state)=>({count:state.count +1}))}}
})//2. 绑定store到组件
//useStore => {count , inc}function  PreZustand(){const {count,inc} = useStore()return (<><button onClick={inc}>{count}</button></>)
}export default PreZustand

异步支持

在函数中编写异步逻辑,最后只需要调用set方法传入新状态即可

//zustand
import { useEffect } from "react"
import { create } from "zustand"
const URL = ''
//1.创建storeconst useAsyncStore = create((set)=>{return {channelList: [],fetchGetList:async()=>{const res = await fetch(URL)const jsonRes = await res.json()console.log(jsonRes)set({channelList: jsonRes.data.channels})}}
})//2. 绑定store到组件function  PreZustand(){const {fetchGetList,channelList} = useAsyncStore()useEffect(()=>{fetchGetList()},[fetchGetList])return (<><ul>{channelList.map(item=><li key={item.id}>{item.name}</li>)}</ul></>)
}export default PreZustand

切片模式

场景:当单个store比较大的时候,可以采用切片模式进行模块拆分组合,类似于模块化

import { useEffect } from "react"
import { create } from "zustand"
const URL = 'http://geek.itheima.net/v1_0/channels'//1.拆分子模块 再组合起来//创建counter相关的切片
const createCounterStore = (set)=>{return {//状态数据count: 0,//修改inc: ()=>{set(state => ({count:state.count +1}))}}
}//创建channel相关切片
const createChannelStore = (set)=>{return {channelList: [],fetchGetList: async ()=>{const res = await fetch(URL)const jsonData = await res.json()set({channelList: jsonData.data.channels})}}
}//组合切片
const useStore = create((...a) => ({...createCounterStore(...a),...createChannelStore(...a)
}))function PreZustand2(){const {count,inc,channelList,fetchGetList} = useStore()useEffect(()=>{fetchGetList()},[fetchGetList])return (<><button onClick={inc}>{count}</button><ul>{channelList.map((item)=>(<li key={item.id}>{item.name}</li>))}</ul></>)}export default PreZustand2

http://www.dtcms.com/wzjs/54791.html

相关文章:

  • 做英文网站可以申请补贴吗热狗seo顾问
  • 电商网站订烟平台官网2023年12月疫情又开始了吗
  • 楚雄网站开发rewlkj实时热搜
  • 惠州网站制作想要网站导航正式推广
  • wp网站系统模板家庭优化大师免费下载
  • 制作网制作网站建设的公司互联网+营销策略怎么写
  • 学院网站建设网站优化seo怎么做
  • 英文网站建设 江门sem代运营费用
  • 网站建设的制度精准引流获客软件
  • 在网站上做漂浮北京网站优化排名
  • 个人简历模板免费下载网站电商seo引流
  • wordpress display_name西安seo关键字优化
  • 网站建设实训结论与分析总结seo教程优化
  • 网站在工信部备案如何做上海aso
  • 做动漫主题的网站百度24小时人工客服电话
  • 上海免费网站建设品牌河北软文搜索引擎推广公司
  • asp网站本地测试修改视频教程seo优化培训课程
  • 自己做影视网站整站seo排名要多少钱
  • 网页前端是什么工作梅花seo 快速排名软件
  • 免费网站加速服务中国十大门户网站排行
  • 甜品店网站建设百度搜索seo优化技巧
  • 乐山做网站东莞营销网站建设推广
  • 上门做网站免费推广论坛
  • 快速建立平台网站开发建站教程详解数据分析师报考条件
  • 旅游网站营销sem分析
  • 做网站找哪家公司好流量精灵app
  • 武冈企业建站网络舆情案例分析
  • 基本的网站建设知识东莞seo软件
  • 自己做的网站竞价优化免费大数据查询
  • 网络游戏举报投诉官网12318网站页面seo