4-8对于context的理解

来源:4-8 【全局数据传递】组件化Context Provider

大威天龙

2021-02-26

老师元宵节安康,这一节的视频反复看了几遍,想问下老师我这样理解context有没有问题。

  1. context抽象化了state 和props(比如视频里通过appSetStateContext传入的setState函数,实际代码逻辑还是在Robot 组件里实现的)
  2. Context 与useContext是一一对应关系。 视频中useState hook的两个返回值需要通过建立两个context传递下去,才能被子组件调用。
  3. provider 是不是没有所谓的嵌套层级关系,尝试直接修改了老师的代码,将AppState 中的appContext.Provider 和 appSetStateContext.Provider 调换了顺序,代码可以正常执行,跟视频里的运行结果一致。

练习了之后发现分发context有点繁琐,需要在appstate 和 需要对应context的组件中反复横跳添加和导入新的content,这可能是我们现在还需要redux的原因之一吧(redux只是粗略看了下大概,还没太深入练习)

写回答

1回答

阿莱克斯刘

2021-02-27

说得太对了!context是为了解决嵌套组件的数据传递而创建出来的,redux本身也可以看作是contex的一种应用方案。

我在b站放了一个hooks半小时入门的教程,可以稍微看一下(从22:35开始讲的是关于context的细节)

https://www.bilibili.com/video/BV1Kr4y1K7so/

1
1
大威天龙
谢谢老师
2021-02-27
共1条回复

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

2025 学习 · 1035 问题

查看课程