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

自己做的视频发什么网站吗it运维工程师简历

自己做的视频发什么网站吗,it运维工程师简历,北京社保网站减员怎么做,网站备案有期限吗如果有兴趣了解更多用法及 api ,点击此处解锁中文文档 前言 是不是觉得 Redux 很难用?想用 Context 代替,但是你知道吗,Context 也有个很大的缺点: context value发生变化时,所有用到这个context的组件都…

如果有兴趣了解更多用法及 api ,点击此处解锁中文文档

前言

是不是觉得 Redux 很难用?想用 Context 代替,但是你知道吗,Context 也有个很大的缺点:

  • context value发生变化时,所有用到这个context的组件都会被重新渲染,即使 component 需要的 state 可能根本沒有变动。基于 context 维护的模块越多,影响范围越大, 某些情况下会导致页面明显卡顿。
  • 另外,它依赖 Context Provider 包裹你的应用程序。

那么试试 zustand 吧,当然你可以选择 mobx,
zustand 与 mobx 最大的差别在于:

  • zustand 的状态更新遵循 react 思想,采用自然不可变更新, 而 mobx 类似 vue,基于数据劫持直接修改状态本身。
  • 体现在开发层面最直观的差异就是:
    • zustand 状态更新,新状态覆盖旧状态
    state = {a: 1}update(){stae = {a: 2} 
    }
    
    • mobx 状态更新,直接修改属性值
    state = {a: 1}update(){stae.a++
    }
    

React 三部曲

Step 1: 安装

npm install zustand # or yarn add zustand

Step 2: Store 初始化

创建的 store 是一个 hook,你可以放任何东西到里面:基础变量,对象、函数,状态必须不可改变地更新,set 函数合并状态以实现状态更新。

import { create } from 'zustand'const useBearStore = create((set) => ({bears: 0,increasePopulation: () => set((state) => ({ bears: state.bears + 1 })),removeAllBears: () => set({ bears: 0 }),
}))

Step 3: Store 绑定组件,就完成了!

可以在任何地方使用钩子,不需要提供 provider
基于 selector 获取您的目标状态,组件将在状态更改时重新渲染。

选择目标状态:bears
function BearCounter() {const bears = useBearStore((state) => state.bears)return <h1>{bears} around here ...</h1>
}
更新目标状态:bears
function Controls() {const increasePopulation = useBearStore((state) => state.increasePopulation)return <button onClick={increasePopulation}>one up</button>
}

Vue 三部曲

什么,你还想试试在 Vue 中使用?那么 Step1 与 Step2 基本一致,不同的是 Step3 (Store 绑定组件):

Step 1: 安装

npm install zustand-vue # or yarn add zustand-vue

Step 2: Store 初始化

创建的 store 是一个 hook,你可以放任何东西到里面:基础变量,对象、函数,状态必须不可改变地更新,set 函数合并状态以实现状态更新。

import create from "zustand-vue";const useBearStore = create((set) => ({bears: 0,increasePopulation: () => set((state) => ({ bears: state.bears + 1 })),removeAllBears: () => set({ bears: 0 }),
}))export default useBearStore

Step 3: Store 绑定组件,就完成了!

基于 selector 获取您的目标状态,组件将在状态更改时重新渲染。

Store 绑定组件在 vue3vue2 中有所不同。

<template><div>store.bears: {{ bears }}</div><button @click="increasePopulation">increasePopulation</button><button @click="removeAllBears">removeAllBears</button>
</template><script>
import useBearStore from "./store";const increasePopulation = useBearStore((state) => state.increasePopulation);
const removeAllBears = useBearStore((state) => state.removeAllBears);export default {data() {return {store: useBearStore(),bears: useBearStore((state) => state.bears),};},methods: {increasePopulation,removeAllBears,},
};
http://www.yayakq.cn/news/378312/

相关文章:

  • 网站的服务内容二级域名分发网站
  • 免费网站推广工具有哪些自己电脑做网站访问速度
  • 怎么做网站论坛西安互联网网站建设
  • 建设九九网站一个网站建设流程图
  • 一条龙建站网站开发主要职责
  • 网站seo检测报告益阳市建设局网站是什么
  • 温州大都市建设开发有限公司网站源码做微信电影网站
  • 解决方案的网站建设wordpress承受访问量
  • 视频在线直播网站建设深圳罗湖外贸网站建设
  • 为什么asp.net做的网站上传后不显示照片有专门教做儿童美食的网站吗
  • 网站开发融资网站红色
  • 门户网站开发申请湖北十堰
  • 给个能直接看的网址谢谢seo指哪些市场区域
  • 合肥建网站的公司荣成网站建设
  • 深圳网站备案拍照安全文化建设方案细则
  • 韶关市网站建设网站开发环境写什么
  • 网站云优化做面食网站
  • 怎么建网站卖东西苏州外贸公司网站建设流程图
  • 私人为别人做网站违法问题学做网站需要买什么书
  • 淘宝客优惠券的网站是怎么做的重庆属于哪个省
  • 网站怎么做描文本wordpress改目录域名
  • 企业建设网站例文惠州网站建设服务商
  • 免费建设旅游网站手机网站技巧
  • 河北省建设机械协会官方网站首页金融网站建设银行
  • 网站开发分支结构表白网站建设源码
  • 免费网页游戏网站东莞建外贸企业网站
  • 安溪哪里有学做网站烟台网站制作方案定制
  • 网站开发需要什么软件网络服务公共平台
  • discuz怎么做h5网站信用渭南网站建设
  • 商城网站框架长春网站建设排名