React中Hooks方法总结

通俗一点的解释
1、useState
向组件内部提供一个state,一个可以更新他的函数,可以事件直接执行,并且新的state和旧的state不会合并,类似于this.setState
在这里插入图片描述
在这里插入图片描述
点击完成之后就加1
2、useEffect
接收两个参数,第一个参数为回调函数,第二个参数为一个数组,可以是空的数组,(dependencies,第二个参数的名字),执行时机,如果第二个参数为空的数组那么只会在页面加载完成之后执行一次,如果第二个参数里面有值,当数组里面的值发生改变的时候会再次执行回调函数
在这里插入图片描述
在这里插入图片描述
代码里面count定义的是useState(0),页面加载完成之后就是在useEffect里面执行了一次setCount,所以页面出来之后会是1
但是当你点击按钮的时候会执行setCount(count+1)之后,此时页面的数字应该现实为2对吧,但是你点击按钮之后就会发现他其实还是1
为什么点击完按钮还是1,1+1难道不等于2?
这个是因为count的数据改变了,变为2了,然后又触发了一次useEffect里面的回调函数setCount(1),把count从2又变为了1
在这里插入图片描述
useEffect中写setCount(count+1)这种类似的公式,第二个参数必须为空数组,不然当useEffect修改掉count的时候,第二个参数获取到count的状态改变之后再次执行setCount,然后第二个参数再次获取到count的变化,如此反复,就成死循环了,直到页面崩溃

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值