context 说白是一个容器,里面可以装很多数据,为程序的多个地方传递数据。
而这个容器就叫做 上下文。
即 程序在执行时候可访问的数据容器
使用 context 对多层组件可以跨越 props,来传递数据。
主题的数据由上下文来传递
使用 React.createContext 来创建 Context 对象
const ThemeContext = React.createContext('black');
<ThemeContext.Provider value={this.state.theme}>
<Main />
</ThemeContext.Provider>
<ThemeContext.Consumer>
{
(theme) => <header></header>
}
</ThemeContext.Consumer>
Context 下有两个 API
- Provider 供应方
- Consumer 消费方、使用方