react的容器组件可以通过props.children来获取器内部的子组件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| function FancyBorder(props) { return ( <div className={'FancyBorder FancyBorder-' + props.color}> {props.children}//获取其子组件 </div> ); }
function WelcomeDialog() { return ( <FancyBorder color="blue"> <h1 className="Dialog-title"> Welcome </h1> <p className="Dialog-message"> Thank you for visiting our spacecraft! </p> </FancyBorder> ); }
|
也可以将子组件通过容器的prop自定义属性进行传递,然后容器自行在内部组织子组件的位置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| function SplitPane(props) { return ( <div className="SplitPane"> <div className="SplitPane-left"> {props.left} </div> <div className="SplitPane-right"> {props.right} </div> </div> ); }
function App() { return ( <SplitPane left={ <Contacts /> } right={ <Chat /> } /> ); }
|