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

React中管理state的方式

使用useState

使用useReducer

既然已经有了useState,为什么还需要useReducer呢?

 那么useReducer是如何将解决这些问题的呢?

 reducer是如何更新state的呢?

 

 reducer的工作方式非常类似JavaScript中的reduce方法,随着时间的退役,reducer会将所有的action累积为一种状态。

与useState对比下:

来一个银行的类比:

 ​​​​​

如果你要去银行取钱的话,你不会直接去银行的金库里面取钱,而是有一个柜员,你 告诉他你需要取多少钱,然后哪个柜员会进行一系列操作,将钱从金库取出来,然后再交给你。

react中的state就相当于银行金库——其中的钱会被更新;

dispacher就相当于取银行要钱的“你”;

reducer就相当于银行柜员;

action就相当与“你”给柜员的信息——柜员是如何知道要取多少钱的?当然是“你”告诉他的;相当于通过dispatcher才能知道reducer中的action值是多少;

 


http://www.kler.cn/a/373378.html

相关文章:

  • 不等数列 (素数)
  • 02 什么是Babel
  • 实验干货|电流型霍尔传感器采样设计03-信号调理
  • Javaweb 实验4 xml
  • 一七一、React性能优化方式
  • Date工具类详细汇总-Date日期相关方法
  • Java EasyExcel 导出报内存溢出如何解决
  • 知识的定义与分类体系详解 - 从零基础到专业理解
  • 【三十八】【QT开发应用】vlcplayer视频播放器(一)实现视频播放,视频暂停,视频停止,进度条调节,音量调节,时长显示功能
  • Qt 坐标系统与坐标变换
  • 外键的作用和用法
  • IPD新产品立项管理的典型问题分析(上)
  • 【JVM 深入了解】JVM 到底包含什么?
  • Pycharm报错:Error:failed to find libmagic. Check your installation
  • 信息学奥赛复赛复习19-CSP-J2023-02公路-贪心算法、向上取整、向下取整
  • C# 支持三种方式实现创建 XML文档
  • 关于Android Studio Koala Feature Drop | 2024.1.2下载不了插件的解决办法
  • PHP反序列化-pikachu
  • JavaEE 多线程第四节 (线程核心操作----线程开始/线程终止)
  • 【机器学习】线性回归模型
  • Linux系统rpm安装MySQL详细操作步骤
  • 19 Docker容器集群网络架构:二、etcd 集群部署
  • 【Java多线程】8 Java 中的并发设计模式
  • 【K8S系列】Kubernetes 中 NodePort 类型的 Service 无法访问的问题【已解决】
  • MySQL(2)【库的操作】
  • python爬虫案例——使用aiohttp模块异步请求网站,利用协程加快爬取速度(17)