import React, {Component} from 'react'// 首先创建一个 context 对象这里命名为:ThemeContextconst ThemeContext = React.createContext('light')// 创建一个祖先组件组件 内部使用Provier 这个对象创建一个组件 其中 value 属性是真实传递的属性class App extends Component { render () { return ( <ThemeContext.Provider value="dark"> <Toolbar /> </ThemeContext.Provider> ) }}// 渲染 button 组件的外层包裹的属性function Toolbar () { return ( <div> <ThemeButton /> </div> )}// 在 Toolbar 中渲染的button 组件 返回一个 consumer (消费者)将组件组件的 value 值跨组件传递给 // ThemeButton 组件function ThemeButton (props) { return ( <ThemeContext.Consumer> { theme => <button {...props} theme={theme}>{theme}</button> } </ThemeContext.Consumer> )}