1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| import React from 'react'; import PropTypes from 'prop-types';
class ParentComponent extends React.Component { static childContextTypes = { theme: PropTypes.string, };
getChildContext() { return { theme: 'dark' }; }
render() { return ( <div> <h1>Hello, world!</h1> <ChildComponent /> <ChildComponent1 /> </div> ); } }
// 函数组件 function ChildComponent(props, context) { return <div>ChildComponent Theme: {context.theme}</div>; }
ChildComponent.contextTypes = { theme: PropTypes.string, };
class ChildComponent1 extends React.Component { static contextTypes = { theme: PropTypes.string, };
render() { return <div>ChildComponent1 Theme: {this.context.theme}</div>; } }
export default ParentComponent;
|