useState-组件的更新过程

更新过程

函数组件使用 useState hook 后的执行过程,以及状态值的变化:

  • 组件第一次渲染:
    1. 执行该函数中的代码逻辑
    2. 调用 useState(0) 将传入的参数作为状态初始值,即:0
    3. 渲染组件,此时,获取到的状态 count 值为: 0
  • 状态改变,该组件会重新渲染,再次调用useState(0),获取最新的值
  • 结论:

    useState 的初始值(参数)只会在组件第一次渲染时生效

  • 代码如下:
  • const [count, setCount] = useState(()=>{
      console.log('useState...') // 这句只会输出一次
      return 0
    })

    useState-最佳实践

  • 如何为函数组件提供多个状态?

  • ​ 两种方案
  • 方案1:useState({状态1, 状态2.....})
  • 方案2: useState(状态1) useState(状态2)(推荐方案2)

使用场景

格式2:传入回调

  1. 初始状态需要经过一些计算得到。 useState(()=>{这里有一些计算, return 结果}))

setXXX的参数可以是回调

状态需要迭代累计。 setXXXXX((上一次的值) => { return 新值 })

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值