React 常用的扩展知识点()

setState 更新状态时异步的。而且他每次更新都会重新渲染数据。 即便是给setState({})传入空对象。还是会触发数据更新 –> dom 更新

setState 更新状态时异步的。而且他每次更新都会重新渲染数据。 即便是给setState({})传入空对象。还是会触发数据更新 –> dom 更新

React 状态更新函数setState 的两种方式

注意callback回调函数是可选的,他在状态更新完毕后,render 渲染后 才来调用callback函数。

  • 对象方式的setState
setState({name: 'example'}, () => {
  console.log()
})
  • 函数方式的setState
    update更新函数会接收到state,和props
setState((state,props) => {
  state.name = 'fnUpdate';
}, () => {
  console.log('do something')
})

两者间的区别
对象类型的setState 是函数setState的简写或者是语法糖
区别:
1、如果新状态不依赖于旧状态 =====> 使用对方方式
2、如果新状态依赖于原状态 =======> 使用函数方式
3、如果想在状态更新后(setState)获取到最新的状态数据,则要在callback回调函数里面获取。

————————

setState 更新状态时异步的。而且他每次更新都会重新渲染数据。 即便是给setState({})传入空对象。还是会触发数据更新 –> dom 更新

setState 更新状态时异步的。而且他每次更新都会重新渲染数据。 即便是给setState({})传入空对象。还是会触发数据更新 –> dom 更新

React 状态更新函数setState 的两种方式

注意callback回调函数是可选的,他在状态更新完毕后,render 渲染后 才来调用callback函数。

  • 对象方式的setState
setState({name: 'example'}, () => {
  console.log()
})
  • 函数方式的setState
    update更新函数会接收到state,和props
setState((state,props) => {
  state.name = 'fnUpdate';
}, () => {
  console.log('do something')
})

两者间的区别
对象类型的setState 是函数setState的简写或者是语法糖
区别:
1、如果新状态不依赖于旧状态 =====> 使用对方方式
2、如果新状态依赖于原状态 =======> 使用函数方式
3、如果想在状态更新后(setState)获取到最新的状态数据,则要在callback回调函数里面获取。