Provider 接收一个 value 属性,传递给消费组件。一个 Provider 可以对应多个消费组件。多个 Provider 也可以嵌套使用,里层的会覆盖外层的数据
value 值发生变化时,它内部的所有消费组件都会重新渲染
Class.contextType
classMyClassextendsReact.Component{
componentDidMount(){
let value =this.context;/* 在组件挂载完成后,使用 MyContext 组件的值来执行一些有副作用的操作 */}componentDidUpdate(){
let value =this.context;/* ... */}componentWillUnmount(){
let value =this.context;/* ... */}render(){
let value =this.context;/* 基于 MyContext 组件的值进行渲染 */}}
MyClass.contextType = MyContext;
挂载在 class 上的 contextType 属性会被重赋值为一个由 React.createContext() 创建的 Context 对象