//等价<MyComponent>foo</MyComponent><MyComponent>{'foo'}</MyComponent>functionItem(props){return<li>{props.message}</li>;}functionTodoList(){const todos =['finish doc','submit pr','nag dan to review'];return(<ul>{todos.map((message)=><Item key={message} message={message}/>)}</ul>);}
函数作为子元素
// 调用子元素回调 numTimes 次,来重复生成组件functionRepeat(props){let items =[];for(let i =0; i < props.numTimes; i++){
items.push(props.children(i));}return<div>{items}</div>;}functionListOfTenThings(){return(<Repeat numTimes={10}>{(index)=><div key={index}>This is item {index}in the list</div>}</Repeat>);}//可以将任何东西作为子元素传递给自定义组件,只要确保在该组件渲染之前能够被转换成 React 理解的对象。这种用法并不常见,但可以用于扩展 JSX。