Context Api是React提供的能够在全局之间共享数据的一个Api, 原有的React进行数据的通信的方式是通过props进行数据传递, 而Context提供了一个在不需要props的情况下,...进行跨组件通信的方式.
[1557155591949.png]
如上图, 组件A需要传递信息给组件E, 需要通过props,先传递给组件B,然后把信息通过组件B传递给组件D,最后才传递给组件E....新Context API的特点
采用声明式的写法
可以跨组件进行通信, 顶层组件提供数据, 目标组件订阅数据
不受中间组件的shouldComponentUpdate返回false的影响, 使得组件的变化可控...的组成如下:
React.createContext 初始化一个Context
Provider 作为顶层组件用于提供数据(可以是字符串,数字, 甚至是函数), 数据会存放在一个名为value的属性中...Consumer 作为消费组件用于订阅数据, 它可以出现在组件树的任意位置(需要被包裹着Provider之中)
在16.8.6之后, React又提供了contextType Api用于支持Context