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

怎么上传图片到公司网站茌平网站建设电话

怎么上传图片到公司网站,茌平网站建设电话,企业建站项目,网站开发前端制作zustand可以说是redux的平替 官网地址:https://zustand-demo.pmnd.rs/ 1.安装 npm i zustand2.基础使用 // zustand import { create } from zustand// 1. 创建store // 语法容易出错 // 1. 函数参数必须返回一个对象 对象内部编写状态数据和方法 // 2. set是用来…

zustand可以说是redux的平替
官网地址:https://zustand-demo.pmnd.rs/

1.安装

npm i zustand

2.基础使用

在这里插入图片描述

// zustand
import { create } from 'zustand'// 1. 创建store
// 语法容易出错
// 1. 函数参数必须返回一个对象 对象内部编写状态数据和方法
// 2. 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 App () {const { count, inc } = useStore()return (<><button onClick={inc}>{count}</button></>)
}export default App

3.zustand——异步支持

对于异步的支持不需要特殊的操作,直接在函数中编写异步逻辑,最后只需要调用set方法传入新状态即可

// zustand
import { useEffect } from 'react'
import { create } from 'zustand'
const URL = 'http://geek.itheima.net/v1_0/channels'
// 1. 创建store
// 语法容易出错
// 1. 函数参数必须返回一个对象 对象内部编写状态数据和方法
// 2. set是用来修改数据的专门方法必须调用它来修改数据
// 语法1:参数是函数 需要用到老数据的场景   
// 语法2:参数直接是一个对象  set({ count: 100 })
const useStore = create((set) => {return {// 状态数据count: 0,// 修改状态数据的方法inc: () => {set((state) => ({ count: state.count + 1 }))},channelList: [],fetchGetList: async () => {const res = await fetch(URL)const jsonRes = await res.json()console.log(jsonRes)set({channelList: jsonRes.data.channels})}}
})// 2. 绑定store到组件
// useStore => { count, inc }
function App () {const { count, inc, fetchGetList, channelList } = useStore()useEffect(() => {fetchGetList()}, [fetchGetList])return (<><button onClick={inc}>{count}</button><ul>{channelList.map(item => <li key={item.id}>{item.name}</li>)}</ul></>)
}export default App

4.zustand——切片模式

场景;当单个store比较大的时候,可以采用切片模式进行模块拆分组合,类似于模块化
在这里插入图片描述

// zustand
import { useEffect } from 'react'
import { create } from 'zustand'
const URL = 'http://geek.itheima.net/v1_0/channels'// store
// counterStore  
// channelStore 
// index.js// 1. 拆分子模块 再组合起来const createCounterStore = (set) => {return {// 状态数据count: 0,// 修改状态数据的方法inc: () => {set((state) => ({ count: state.count + 1 }))},}
}const createChannelStore = (set) => {return {channelList: [],fetchGetList: async () => {const res = await fetch(URL)const jsonRes = await res.json()console.log(jsonRes)set({channelList: jsonRes.data.channels})}}
}const useStore = create((...a) => {return {...createCounterStore(...a),...createChannelStore(...a)}
})function App () {// 2. 组件使用const { count, inc, fetchGetList, channelList } = useStore()useEffect(() => {fetchGetList()}, [fetchGetList])return (<><button onClick={inc}>{count}</button><ul>{channelList.map(item => <li key={item.id}>{item.name}</li>)}</ul></>)
}export default App
http://www.yayakq.cn/news/432531/

相关文章:

  • 短期网站建设培训班wordpress翠竹林主题
  • 网站排名怎么弄怎样制作网站建设方案
  • 网站栏目一般有哪些安卓下载
  • 网站免费建站2深圳网站开发深圳网站设计
  • 怎么识别一个网站wordpress大气自媒体
  • 加热器网站怎么做的搜款网站一起做网店
  • 公司网站申请网站建设案例效果
  • 域名解析 网站自助建站系统 破解
  • 哪个网站可以做卖房网站设计步骤包括
  • 怎么样建设网站手机网站用二级目录做的弊端
  • 网站如何悬挂备案号网站点击软件排名
  • 清河网站建设费用那些网站权重高
  • 建设企业网站平台主要的目的是郑州优化公司有哪些
  • 定制网站制作公司哪家好淘宝网官方网
  • 做网站要备案吗合肥解封最新消息
  • .net网站吃内存wordpress广告推广插件
  • 建设一个旅游电子商务网站网上青团智慧团建官网
  • 建筑模板公司广州做网站优化公司报价
  • 和萝莉做的电影网站企业网站流程图
  • 织梦免费购物网站wordpress生活插件
  • 域名怎么做网站内容dw网页设计图片链接
  • 网站制作需要多少费用做网站需要视频衔接怎么做
  • 高端网站建设哪家公司好做适合漫画网站的图片
  • 怎么建设个人网站 新手学做网站如何seo网站
  • 广元做开锁网站西安网站设计锦
  • 南阳网站怎么推广织梦手机端网站字体重叠
  • 三门峡企业网站建设公司wordpress 博客不显示不出来
  • 东莞整合网站建设开发腾讯云建站多少钱
  • 淘宝店铺网站策划书图片展示类网站
  • 做传销网站吉林省现代交通建设有限公司官网站