React 组件的 children 数据使用

简介: React 组件的 children 数据使用
  • children 属性表示该组件的子节点,只要组件内部有子节点,props 就有该属性,是自动带上的,不需要开发者添加。
  • children 可以是 普通文本普通标签元素函数JSX
  • 案例一:普通文本
import React from "react";
function Sub ({ children }) {
  return (
    <div>
      <div>子组件</div>
      { children }
    </div>
  )
}
class App extends React.Component {
  render () {
    return (
      <div>
        <Sub>
          这是子组件的 children 内容
        </Sub>
      </div>
    )
  }
}
export default App
  • 案例二:函数
import React from "react";
function Sub ({ children }) {
  // 执行方法
  children()
  return (
    <div>
      <div>子组件</div>
    </div>
  )
}
class App extends React.Component {
  render () {
    return (
      <div>
        <Sub>
          { () => { console.log('这是子组件的 children 内容'); } }
        </Sub>
      </div>
    )
  }
}
export default App
  • 案例三:普通元素标签
import React from "react";
function Sub ({ children }) {
  return (
    <div>
      <div>子组件</div>
      { children }
    </div>
  )
}
class App extends React.Component {
  render () {
    return (
      <div>
        <Sub>
          { <div><p>Children 内容1</p><p>Children 内容2</p></div> }
        </Sub>
      </div>
    )
  }
}
export default App
import React from "react";
function Sub ({ children }) {
  return (
    <div>
      <div>子组件</div>
      { children }
    </div>
  )
}
class App extends React.Component {
  render () {
    return (
      <div>
        <Sub>
          <div>Children 内容1</div>
          <p>Children 内容2</p>
        </Sub>
      </div>
    )
  }
}
export default App
import React from "react";
function Sub ({ children }) {
  return (
    <div>
      <div>子组件</div>
      { children.map(child => child) }
    </div>
  )
}
class App extends React.Component {
  render () {
    return (
      <div>
        <Sub>
          <div>Children 内容1</div>
          <p>Children 内容2</p>
        </Sub>
      </div>
    )
  }
}
export default App
相关文章
|
1月前
|
前端开发 API
react怎么实现父子组件传值?
react怎么实现父子组件传值?
|
2月前
|
前端开发
react-router中的render、children、component
react-router中的render、children、component
48 1
|
4月前
|
资源调度 前端开发 JavaScript
React 的antd-mobile 组件库,嵌套路由
React 的antd-mobile 组件库,嵌套路由
43 0
|
11天前
|
缓存 前端开发 JavaScript
【亮剑】在React中如何通过点击事件控制组件显示与隐藏,包括基础概念和高级应用
【4月更文挑战第30天】本文介绍了在React中如何通过点击事件控制组件显示与隐藏,包括基础概念和高级应用。使用`useState`钩子和Context API可实现状态驱动的条件渲染,通过CSS类控制组件样式,或利用React Portals在DOM不同位置渲染。性能优化应注意避免不必要的渲染、合理使用Keys、优化事件处理器、使用Memoization及清理资源。测试和验证确保逻辑正确性,以构建动态用户界面并提升应用性能。
|
15天前
|
前端开发 JavaScript 开发者
vue3、react组件数据传值对比分析——父组件传递子组件,子组件传递父组件(二)
vue3、react组件数据传值对比分析——父组件传递子组件,子组件传递父组件
22 0
|
15天前
|
JavaScript 前端开发 算法
vue3、react组件数据传值对比分析——父组件传递子组件,子组件传递父组件(一)
vue3、react组件数据传值对比分析——父组件传递子组件,子组件传递父组件
17 0
|
16天前
|
存储 前端开发 JavaScript
React的表单处理:受控组件与非受控组件深入解析
【4月更文挑战第25天】React表单处理涉及受控和非受控组件。受控组件通过状态管理表单数据,每次用户输入都触发状态更新,确保数据同步,适合实时交互但可能影响性能。非受控组件不直接管理状态,数据存储在DOM中,简化代码,适用于更新不频繁的场景,但在数据验证和同步上存在挑战。开发者应根据需求灵活选择。
|
16天前
|
前端开发 JavaScript 开发者
React的函数组件与类组件:探索两者之间的区别
【4月更文挑战第25天】React提供函数组件和类组件,两者在语法、状态管理、生命周期和性能优化上有所不同。函数组件简单且易于理解,使用 Hooks 可添加状态管理;类组件支持复杂状态管理和生命周期方法,适用于需要精细控制更新的场景。随着 Hooks 的发展,函数组件功能增强,成为更多开发者的首选。选择组件类型应根据实际需求权衡。
|
16天前
|
设计模式 前端开发 API
React的高阶组件(HOC):使用与设计模式探讨
【4月更文挑战第25天】React的高阶组件(HOC)是一种复用和增强组件的高级模式,它接受组件并返回新组件。非侵入式增强使得HOC能在不修改原有组件代码的情况下添加功能。定义HOC后,将其应用于目标组件并渲染增强后的组件。常见设计模式包括属性代理、控制反转和装饰器。然而,使用时要注意避免滥用,保持命名清晰,关注性能优化。理解并恰当使用HOC能提升React应用的构建效率。
|
17天前
|
前端开发
探索React Hooks:一种全新的组件逻辑管理方式
React Hooks是React 16.8版本引入的一项新功能,它改变了我们编写React组件的方式。本文将从Hooks的起源讲起,逐步分析Hooks的优势,并通过具体示例展示Hooks在组件逻辑管理中的应用,旨在帮助读者更好地理解和运用React Hooks。