2020-05-28 react hooks useState

2020-05-28  本文已影响0人  KingAmo

class 组件

使用class组件时,setState 方法是异步的,你可以在steState的第二个参数中设置回调,使得你可以在 state 更新完后用更新后的 state 做一些操作;

  this.setState({data: 'newData'},() => {
    console.log(this.state.data); // 'newData'
  }}, 

那么用函数式组件 + hooks的时候,怎么实现上述功能呢?

function组件 + Hooks

  const [data, setData] = useState('Mike')

如果你在setData 后直接使用data数据,使用的还是旧的data数据,要想使用最新的data数据,我们需要配合使用useEffect这个 hook,在 useEffect 的第二个参数中传data就行了,变相的实现了设置回调的效果,完美~

useEffect(() => {console.log(data)}, [data]) // 'newData'
上一篇下一篇

猜你喜欢

热点阅读