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

cms适合做什么网站网站制作开发教程

cms适合做什么网站,网站制作开发教程,周村网站制作首选公司,南通网站定制方案什么是zustand? zustand 是一个轻量级、快速且可扩展的 React 状态管理库,旨在提供一种简单直接的方式来管理应用状态,而无需其他解决方案通常伴随的繁琐代码。根据官方 Zustand 文档,Zustand 是“一个使用简化 flux 原理的小型、…

 什么是zustand?

      zustand 是一个轻量级、快速且可扩展的 React 状态管理库,旨在提供一种简单直接的方式来管理应用状态,而无需其他解决方案通常伴随的繁琐代码。根据官方 Zustand 文档,Zustand 是“一个使用简化 flux 原理的小型、快速且可扩展的精简状态管理解决方案”。它允许开发者创建包含状态和操作的 store,这些 store 可以通过 React hooks 进行访问和更新。

中文官网 

Zustand 中文网

安装

npm install zustand

基础使用

创建store
import { create } from 'zustand'const useStore = create((set) => ({  //set是用来修改数据的专门方法,必须调用它来修改数据//状态数据  bears: 0,//修改方法increasePopulation: () => set((state) => ({ bears: state.bears + 1 })), //加一removeAllBears: () => set({ bears: 0 }),//置0updateBears: (newBears) => set({ bears: newBears }),//接收传递的值并赋值
}))
export default useStore
绑定组件并使用

import useStore from '../../zustand'
const Month = () => {const bears = useStore((state) => state.bears)const { increasePopulation, removeAllBears, updateBears } = useStore()return (<div> {bears}<button onClick={increasePopulation}>加一</button><button onClick={removeAllBears}>置0</button><button onClick={()=>updateBears(3)}>传值</button></div>)
};
export default Month;

异步使用

异步实现接口请求更改数据 
import axios from 'axios'
import { create } from 'zustand'const useStore = create((set) => ({listData:[],changeList:async()=>{let res =await axios.get('https://api.taolale.com/api/xjj/get?key=KadadfdgfdhhjGEK')set({listData:res.data.data})}}))
export default useStore
 组件调用

import useStore from '../../zustand'
const Month = () => {const list = useStore((state) => state.listData)const { changeList} = useStore()return (<div> {list}<button onClick={changeList}>获取数据</button></div>)
};
export default Month;

切片模式(模块化)

拆分模块,在组合起来 

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

模块一  createBearSlice.js
const createBearSlice = (set) => ({bears: 0,addBear: () => set((state) => ({ bears: state.bears + 1 })),eatFish: () => set((state) => ({ fishes: state.fishes - 1 })),
})
export default createBearSlice
模块二  createFishSlice.js
const createFishSlice = (set) => ({fishes: 0,addFish: () => set((state) => ({ fishes: state.fishes + 1 })),
})
export default createFishSlice
组合模块  index.js

import { create } from 'zustand'
import  createBearSlice from './createBearSlice'
import  createFishSlice from './createFishSlice'const useBoundStore = create((...a) => ({...createBearSlice(...a),...createFishSlice(...a),
}))
export {useBoundStore}
 组件使用  直接解构使用

import { useBoundStore } from './store/index'
const Month = () => {const { bears,fishes,addBear} = useBoundStore()return (<div> {fishes}{bears}<button onClick={addBear}>加一</button></div>)
};
export default Month;

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

相关文章:

  • 江津网站建设效果好不好php网站怎么做缓存
  • 做网站所用的工具深圳福田专业网站建设
  • 高端网站制作系统电视剧百度搜索风云榜
  • 建立网站顺序网站颜色配色
  • 建设银行申请信用卡网站首页塘厦镇网站建设
  • 重庆站外推广网站广州做网站比较有名的公司
  • 连云港网站关键词游戏公司排行榜前十名
  • 湖南株洲建设局网站网站建设前期目标
  • 怎样做淘宝的导购网站推广如何免费建立一个自己的网站
  • 和平网站建设公司域名管理
  • 各省网站备案时长南昌所有建设工程网站
  • 全屏网站模板想搞一个自己的网站怎么做
  • wordpress评论提交特效废品回收网站怎么做网站优化
  • 扁平式风格网站网站建设与维护目录
  • 潍坊市城市建设官网站搜索引擎营销是指
  • 怎么样查询网站被挂黑链蚌埠网站制作公司哪家好
  • 小程序怎么做优惠券网站网站空间在线解压
  • 黄岛网站建设公司哪家好开网店的流程及程序
  • 英文学习网站wordpress搜索错误
  • 网站建设的整个过程展览公司网站模板
  • 2015做外贸网站好做吗wordpress 查看全文
  • 温州集团网站建设温州通告最新
  • 在线阅读小说网站怎么做网站域名后缀有什么用
  • dede网站模板怎么安装教程网站的制作哪家好
  • 新彊生产建设兵团网站网络营销外包公司的评价
  • 网站策划书范文模板wordpress文件读取漏洞
  • jn建站系统官网wordpress 验证码插件
  • 网站建设相关优化青浦网站建设
  • 秦皇岛网站建设哪家好免费logo设计网址
  • 厦门网站建设屈兴东网络营销模式课