4-8对于context的理解
来源:4-8 【全局数据传递】组件化Context Provider

大威天龙
2021-02-26
老师元宵节安康,这一节的视频反复看了几遍,想问下老师我这样理解context有没有问题。
- context抽象化了state 和props(比如视频里通过appSetStateContext传入的setState函数,实际代码逻辑还是在Robot 组件里实现的)
- Context 与useContext是一一对应关系。 视频中useState hook的两个返回值需要通过建立两个context传递下去,才能被子组件调用。
- provider 是不是没有所谓的嵌套层级关系,尝试直接修改了老师的代码,将AppState 中的appContext.Provider 和 appSetStateContext.Provider 调换了顺序,代码可以正常执行,跟视频里的运行结果一致。
练习了之后发现分发context有点繁琐,需要在appstate 和 需要对应context的组件中反复横跳添加和导入新的content,这可能是我们现在还需要redux的原因之一吧(redux只是粗略看了下大概,还没太深入练习)
写回答
1回答
-
说得太对了!context是为了解决嵌套组件的数据传递而创建出来的,redux本身也可以看作是contex的一种应用方案。
我在b站放了一个hooks半小时入门的教程,可以稍微看一下(从22:35开始讲的是关于context的细节)
https://www.bilibili.com/video/BV1Kr4y1K7so/
112021-02-27
相似问题