关于Provider的嵌套问题以及全局setState定义类型问题
来源:4-8 【全局数据传递】组件化Context Provider

weixin_慕神3292065
2021-03-16
请老师帮我看下图中红色字体描述的问题!
写回答
1回答
-
阿莱克斯刘
2021-03-17
第一个问题:“为什么不初始化一个函数呢?”
如果初始化函数,函数应该是什么呢?很明显 appSetStateContext 的 provider 需要与 setState 函数绑定,可是声明appSetStateContext的时候setState函数还没定义出来,所以我们在这里定义个undefine属于正常操作。
第二个问题: “嵌套provider出现时,value属性是否合并”。
value不会合并,也不会覆盖,而是会同时独立存在,均可在自组件中使用。你可以把provider想象为一个父组件,嵌套provider可以想象为两层父组件,那么父组件的state传递到自组件的时候state也不会被覆盖或者合并的,唯一的区别就是context可以跨组件传递数据,而嵌套组件只能一级一级向下传递。
10
相似问题