React 中setState的使用总结

1、基本使用方法

//主要用于更新用户界面、响应事件处理和服务器响应
setState(updater, [callback])


//(state, props) => stateChange  // typeof stateChange   == 'object' 
方式1: setState(state=>{
    return {key : value}
})
等价于
方式2: setState({key : value})
//setState不会立即更新state的状态,而是进行成批处理或者推迟更新,目的是避免高频率渲染,这种情况会在调用this.state时产生陷阱
//顺次调用setState我们希望count每次增加1,最后输出3, 然而实际情况输出值为1
incrementCount() {
  this.setState({count: this.state.count + 1});
}

handleSomething() {
  this.incrementCount();
  this.incrementCount();
  this.incrementCount();
}
//原因在于state状态值更新发生在组件重新渲染之后,因此当前取到的每个count均为未更新值,即0
//解决方法 setState传入函数做参数而非直接传入对象,state是一个引用,指向当改变正在被应用时的组件状态

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值