React19组件通信之上下文(context)
-
上下文context有两个角色
-
Provider 数据提供
-
Consumer 数据读取
-
使用context可以避免通过中间元素传递props,context的设计目的是为了共享对于一个组件树而言是“全局”的数据
-
不使用context的情况下的代码:
注:不使用context的话,需要层层组件props传递数据,中间组件传递props的方式是在引用子组件时标签上写{...props}
-
使用context上下文:
注:《1》在最外层的组件,用Provider包裹住组件,value属性后面把数据提供下去。这是固定写法。
《2》在下层需要用到该数据的组件在render渲染函数中用Consumer标签包裹jsx语法写的代码:
*Consumer标签里面是有一个箭头函数,参数就是最外层Provider注入的数据
博主掘金技术社区地址——https://juejin.cn/user/1908407918660871/posts