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

尚硅谷react教程_扩展_setState更新状态的2种写法

1.setState
setState更新状态的2种写法(1).setState(stateChange,[callback])----对象式的setState1.stateChange为状态改变对象(该对象可以体现出状态的更改)2.callback是可选的回调函数,它在状态更新完毕、界面也更新后(render调用后)才被调用(2).setState(updater,[callback])----函数式的setState
        1.updater为返回stateChange对象的函数2.updater可以接收到state和props3.callback是可选的回调函数,它在状态更新,界面也更新后(render调用后)才被调用。总结:1.对象式的setState是函数式的setState的简写方式(语法糖)2.使用原则:(a).如果新状态不依赖于原状态 ==> 使用对象方式(b).如果新状态依赖于原状态 ==> 使用函数方式(c).如果需要在setState()执行后获取最新的状态数据,要在第二个callback函数中读取3.举个例子:// (a)不依赖于原状态// 函数式的setStatethis.setState(()=>({count:99}))// 对象式的setState this.setState({count:99})
import React, {Component} from 'react';export default class Demo extends Component {state = {count:0}add = () => {/*// 对象式的 setState// 1.获取原来的值const {count} = this.state//2.更新状态this.setState({count:count+1},()=>{console.log('before == count:',count)console.log('after == this.state.count:',this.state.count)})*/// 函数式的setState 传入两个参数// this.setState((state,props)=>{//     console.log('state,props:',state, props)//     return {count:state.count+1}// })// 函数式的setState 传入一个参数// this.setState(state=> ({count:state.count+1}))// 对象式的setStatethis.setState({count:this.state.count+1})}render() {return (<div><h1>当前求和为:{this.state.count}</h1><button onClick={this.add}>功德+1</button></div>);}
};

http://www.lryc.cn/news/474708.html

相关文章:

  • C语言编写的自动取款机模拟程序
  • 【常用数据结构】开发中常用的数据结构?
  • OCC 点云
  • 方法重写与方法重载
  • Vue3实现地球上加载柱体
  • OpenGL入门003——使用Factory设计模式简化渲染流程
  • 01_AI编程案例展示:借助AI轻松爬取海量网盘链接
  • 【机器学习导引】ch5-神经网络
  • 【Axure原型分享】颜色选择器——填充颜色
  • 怎么安装行星减速电机才是正确的
  • Unity程序化生成地形
  • Vxe UI vue vxe-table 表格中使用下拉表格,单元格渲染下拉表格
  • Android开发教程实加载中...动效
  • NVR设备ONVIF接入平台EasyCVR视频融合平台智慧小区视频监控系统建设方案
  • 适配器模式适用的场景
  • Ambari里面添加hive组件
  • Windows部署rabbitmq
  • 【Flask】四、flask连接并操作数据库
  • ES跟Kafka集成
  • Python Matplotlib:基本图表绘制指南
  • 供应商图纸外发:如何做到既安全又高效?
  • 探索 Move 编程语言:智能合约开发的新纪元
  • vue3+vant实现视频播放(含首次禁止进度条拖拽,视频看完后恢复,保存播放视频进度,刷新及下次进入继续播放,判断视频有无全部看完等)
  • 情感强度分析:精确衡量文本情感强弱的 AI 技术
  • 工厂方法模式与抽象工厂模式
  • 「Math」初等数学知识点大纲(占位待处理)
  • 百元高性价比头戴式降噪耳机选哪款?四款平价性价比品牌别错过!
  • vue3 setup写不写到标签上的区别
  • 【论文解读】EdgeYOLO:一种边缘实时目标检测器(附论文地址)
  • xlwings,让excel飞起来!