4-8节的addToCart函数里面setState里为什么要传函数,而不直接更改state的值呢
来源:4-8 【全局数据传递】组件化Context Provider

def_myself
2021-09-27
4-8节的addToCart函数里面setState的参数为什么要传函数,而不直接更改state的值呢?分别如以下图一图二
写回答
1回答
-
阿莱克斯刘
2021-09-29
hello同学,截图中的setState定义在代码第13行(红箭头标注),其实是我们自己定义的setState,它可不是react类组件的内建方法“this.setState()”。这俩只是名字一样而已,完全是两码事。
在截图中,我们也能看到setState的类型,它就是一个接受value返回void的方法。
所以,如果我们去掉函数参数,代码就会报错,因为他的参数类型出错了:
请注意,Robert函数组件中的setState与类组件this.setState是不一样的东西,所以在这里的用法是有区别的。
谢谢你的提问,不知道我讲清楚了没有?如果还不明白,请继续提问
122024-11-04
相似问题