嵌套

  1. import React from 'react'
  2. class Son extends React.Component {
  3. render() {
  4. return (
  5. <div>son组件</div>
  6. )
  7. }
  8. }
  9. class Father extends React.Component {
  10. render() {
  11. return (
  12. <div>
  13. father组件
  14. <Son/>
  15. {/* 将子组件以标签的形式放入父组件的jsx中,此时Father组件就是Son组件的父组件 */}
  16. </div>
  17. )
  18. }
  19. }
  20. export default Father

组合

  • 类组件

类组件中实现组合使用{this.props.children} 可以做类似Vue中插槽的功能,用于组合

  1. import Tab from './Tab'
  2. import Content from './Content'
  3. import TabBar from './TabBar'
  4. import React from 'react'
  5. class App extends React.Component {
  6. render() {
  7. return (
  8. <div>
  9. <TodoList>
  10. <Tab />
  11. <Content />
  12. <TabBar />
  13. </TodoList>
  14. </div>
  15. )
  16. }
  17. }
  18. class TodoList extends React.Component {
  19. render() {
  20. return (
  21. <div>
  22. <h1>todoList</h1>
  23. {this.props.children} // 类似Vue中的插槽
  24. </div>
  25. )
  26. }
  27. }
  28. export default App
  • 函数组件

在函数组件中this指向是undefined
使用参数获取children以完成组合

  1. const TodoList = (props) => {
  2. return (
  3. <div>
  4. <h1>todoList</h1>
  5. {props.children}
  6. </div>
  7. )
  8. }