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

从0学习React(4)---更新组件状态setState

在上篇文章中,我们讲了React中的一些基础,包括组件的种类以及state的使用。上篇文章的结尾,我们讲到了如何更新组件的状态(使用setState)。但是我没有讲的很详细,这篇文章我们详细的讲一下React中如何更新组件的状态。

setState更新组件状态

我们一般用 this.setState({要求要改的状态},回调函数) 来修改状态,然后更新页面。可以看到,setState有两个参数,第一个参数是必须要有的,要求要改的状态;第二个参数是可选的,回调函数。

第一个参数:要求要改的状态

第一个参数是一个对象,它包含了你希望更新的组件状态。这个对象中的键值对将会与当前的状态对象进行合并,而不是替换整个状态对象。

第二个参数:回调函数

这个参数是可选的,可以有也可以没有。如果有了这个回调函数,那么会在组件状态更新,然后render渲染完之后,再回来执行这个回调函数。

重点来了,为什么要执行这个回调函数呢?组件的状态更新了,render渲染完了,那不就大功告成了吗?为什么需要执行回调函数呢?这不是多此一举吗?

后来我上网查了一下,大概我总结一下:假如现在有一个计数器按钮,当计数器达到count>10的时候,我想要发送一个网络请求。那比如说,我点击这个按钮十次,组件状态更新,然后渲染,这个过程执行了十次。这个时候,回调函数一次都没有执行,因为不符合条件。当我第11次点击的时候,组件更新count的状态值为11,然后执行render渲染,之后进入回调函数,发现count>10(现在已经是11了),所以执行回调函数,发送网络请求。


http://www.mrgr.cn/news/38952.html

相关文章:

  • STK中计算通信链路的有用链接
  • 【傻呱呱】ESXI挂载USB移动硬盘给黑裙扩容
  • 【GAN】生成对抗网络Generative Adversarial Networks理解摘要
  • 【django】django项目使用https访问+ssl证书
  • 数字人直播屡次违规真相曝光!有哪些技术可以有效解决?
  • 你如何看待音乐倍速播放的问题呢?
  • 示波器带宽和测量的关系
  • C语言基础之数组
  • 大跳水!华为三折叠手机黄牛价暴跌,市场需求显真相
  • SNMP NETCONF及RESTCONF网络管理协议
  • 智能工具与团队协作的秘密武器
  • 物联网行业中的产品外壳定制流程与选型
  • 学科竞赛管理平台:SpringBoot框架深度开发
  • 支持分页的环形队列
  • 软件架构设计师教程 第11章 11.4 边缘计算概述 笔记
  • 程序bug的修复
  • 多模态:Florence2论文详解
  • 力扣(leetcode)每日一题 2073 买票需要的时间
  • WanFangAi是一款AI论文工具软件,具备免费选题、文献检索、写作助手等多项实用功能,可以智能生成论文大纲和全文,提供全方位的个性化帮助
  • C++软件试用期检测