上上篇博客我讲了setState() 的批处理合并,而setState()是异步的还是同步的,和setState() 的批处理有很大的关系
,推荐先看完上上篇博客再来看这篇,会清晰很多
地址如下:
setState()批处理,合并策略,控制批处理----batchUpdates
setState()是异步的还是同步的?
先看异步的情况:
import React, {
Component } from 'react';
class com2 extends Component {
state = {
num: 0
}
add = () => {
this.setState({
num: this.state.num + 1
})
console.log(this.state.num)
this.setState({
num: this.state.num + 2
})
console.log(this.state.num)
this.setState({
num: this.state.num + 3
})
console.log(this.state.num)
}
render() {
return (
<div>
<button onClick={
this.add}>按钮{
this.state.num}</button>
</div>
);
}