第一个问题:“为什么不初始化一个函数呢?”
如果初始化函数,函数应该是什么呢?很明显 appSetStateContext 的 provider 需要与 setState 函数绑定,可是声明appSetStateContext的时候setState函数还没定义出来,所以我们在这里定义个undefine属于正常操作。
第二个问题: “嵌套provider出现时,value属性是否合并”。
value不会合并,也不会覆盖,而是会同时独立存在,均可在自组件中使用。你可以把provider想象为一个父组件,嵌套provider可以想象为两层父组件,那么父组件的state传递到自组件的时候state也不会被覆盖或者合并的,唯一的区别就是context可以跨组件传递数据,而嵌套组件只能一级一级向下传递。