为什么setState中可以传入一个匿名函数进行更新state?
来源:4-8 【全局数据传递】组件化Context Provider

羡鱼_
2021-06-27
我查看官方文档后,文档里的例子是这么写的
造成这两种区别的原因是什么呢?
写回答
2回答
-
阿莱克斯刘
2021-06-30
因为匿名函数最终也还是会return一个确定的数据,所以传入一个匿名函数与直接传入数值这两种写法其实效果是一样的
122021-07-30 -
梓梁92
2021-11-17
主要是为了解决闭包问题,官网的这个代码是告诉你,useEffect() 第二个参数依赖数组如果是空的话,内部使用了外界变量,不就是一个闭包吗?闭包取到的值永远是固定的。所以 setXXX 匿名函数写法,就不用读取外部变量了,匿名函数自身就接收最新的 state
00
相似问题