类组件
使用 createContext 创建 context
const AppContext = createContext();const App = (props) => {return (<AppContext.Provider value="data"><Middle /></AppContext.Provider>)}const Middle = (props) => {return (<><Foo /><Bar /><Baz /></>)}
使用 context.Consumer 以函数参数接收 provider 的 value,函数回调进行渲染
class Foo extends Component {render() {return (<AppContext.Consumer>{ value => <div>{value}</div> }</AppContext.Consumer>)}}
类组件也可以使用 contextType = 上下文对象
class Bar extends Component {static contextType = AppContext;render() {const value = this.context;return (<div>{value}</div>)}}
函数组件
useContext
参数为 createContext 出来的 context 对象const Baz = (props) => {const value = useContext(AppContext);return (<div>{value}</div>)}
