React 中this.setStat是批量执行的, 它发现做三次是多余的,所以只执行一次
16==》 this.setStat是批量执行的 它发现做三次是多余的,所以只执行一次
import React, { Component } from "react"; export default class StaTest extends Component {
state = {
nun: 1
}; componentDidMount() {
// this.setStat是批量执行的 它发现做三次是多余的,所以只执行一次
this.setState({
nun: this.state.nun + 1
}); this.setState({
nun: this.state.nun + 1
}); this.setState({
nun: this.state.nun + 1
});
} render() {
return (
<div>
{/* 获取state中的值 最终为2*/}
{this.state.nun}
</div>
);
}
}
如何让他执行三次
更改为this.setState this.setState(prevState=>{
return{
nun:prevState.nun+1
}
}) this.setState(prevState => {
return {
nun: prevState.nun + 1
}
}) this.setState(prevState => {
return {
nun: prevState.nun + 1
}
}) 可以优化为
this.setState(prevState => ({
nun: prevState.nun + 1
}))
React 中this.setStat是批量执行的, 它发现做三次是多余的,所以只执行一次的更多相关文章
- selenium+python+unittest:一个类中只执行一次setUpClass和tearDownClass里面的内容(可解决重复打开浏览器和关闭浏览器,或重复登录等问题)
unittest框架是python自带的,所以直接import unittest即可,定义测试类时,父类是unittest.TestCase. 可实现执行测试前置条件.测试后置条件,对比预期结果和实际 ...
- java for循环里面执行sql语句操作,有效结果只有一次,只执行了一次sql mybatis 循环执行update生效一次 实际只执行一次
java后台controller中,for循环执行数据库操作,但是发现实际仅仅执行了一次,或者说提交成功了一次,并没有实际的个数循环 有可能是同一个对象导致的 可以仔细看一下下面两段代码有什么区别 p ...
- 向Oracle中传入数组,批量执行SQL语句
1.首先用PL/SQL创建package create or replace package excuteBatchOperate as type sqlStr_Array ) index by bi ...
- java中的static代码块为什么只执行一次
原因在最后,这是其中的一个小例子. 如: SessionFactory负责保存和使用所有配置信息,消耗内存资源非常大 所以一个web项目要保证只创建一个SessionFactory 那么在使用hibe ...
- shell 脚本中 while 只执行一次
实例代码 while read line ; do ssh -p20002 $line -o StrictHostKeyChecking=no xxxxxxxxx done < ip.txt w ...
- express框架中如何只执行一次res响应操作
在做东西时候遇到一个可能会重复输出res.json的地方,重复输出会产生Error:Cannot set header after they are sent. Node.js不像c++里可以直接通过 ...
- swift--Timer实现定时器功能,每个一段时间执行具体函数,可以重复,也可以只执行一次
1,创建 //控制器 timer = Timer.scheduledTimer(timeInterval: 0.001, target: self, selector: #selector(Fifte ...
- shell调用sqlplus批量执行sql文件
在最近的工作中,经常需要批量执行一些DML, DDL, PL/SQL语句或导入一些Function, Procedure.因为support的国家比较多,常常需要一个登陆到一个国家的数据库上执行完成后 ...
- python:unittest之discover()方法批量执行用例
自动化测试过程中,自动化覆盖的功能点和对应测试用例之间的关系基本都是1 VS N,如果每次将测试用例一个个单独执行,不仅效率很低, 无法快速反馈测试结果,而且维护起来很麻烦.在python的单元测试框 ...
随机推荐
- js Set对象
1.将数组转换成Set对象 let arr1 = new Set([1,2,3,4]) console.log(arr1) //{1,2,3,4} 2.数组去重 let arr2 = new Set( ...
- SQL实用技巧:如何判断一个值是否为数字的方法
检测是不是数字型的数据, 两种方法 1. ISNUMERIC ( expression ) 2. PATINDEX ( ‘%pattern%‘ , expression ) 1. ISNUMERIC ...
- make和new关键字的区别及实现原
new 和 make 是两个内置函数,主要用来创建并分配类型的内存.在我们定义变量的时候,可能会觉得有点迷惑,不知道应该使用哪个函数来声明变量,其实他们的规则很简单, new 只分配内存, make ...
- 获取Tekla属性方式
XmlTextWriter xmlTextWriter = new XmlTextWriter((TextWriter) stringWriter); xmlTextWriter.Formatting ...
- oracle截取时间的年/月/日/时/分/秒
修改日期格式为年月日时分秒: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';select to_char(sysdate,'yyy ...
- 28.分类算法---KNN
1.工作原理: 存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类对应的关系.输入没有标签的数据后,将新数据中的每个特征与样本集中数据对应的特 ...
- tensor的加减乘和矩阵乘法
对应的代码如下 import torch """如下是tensor乘法与加减法,对应位相乘或相加减,可以一对多""" def add_and ...
- C语言程序设计100例之(20):过河卒
例20 过河卒 题目描述 如图1,在棋盘的A点有一个过河卒,需要走到目标B点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如图1的C点),该马所在的点和所有跳跃一步可达的点称 ...
- 基于appium的fixture应用之代码重构
一.痛点分析 在appium自动化中,会话启动参数较多,我们使用了yaml配置文件来进行管理,并使用了PyYaml模块进行yaml文件内容的读取,我们知道,在测试场景中,不可能只会用到一种启动类型的参 ...
- 关于 Sublime Text 3 中 input 无法输入的问题
在新装的 Sublime Text 3 中,Ctrl + B 运行时会发现无法正常输入,我记录了一下我的解决方法. 相关原文可参照 https://blog.csdn.net/weixin_42116 ...