React-props的children属性

在 React 中,子组件标签之间的内容(无论是文本、HTML 元素还是其他 React 组件)不会直接显示在页面上,而是会被收集到子组件的 props.children 属性中;

  • 没有在子组件标签之间传递任何内容

    javascript 复制代码
    - 父组件: 
    <Son />
    
    - 子组件
    props.children // undefined
  • 传递字符串

    javascript 复制代码
    - 父组件
      <Son>Hello World</Son>
    - 子组件
      props.children // 'Hello World'
  • 传递单个html元素

    javascript 复制代码
    - 父组件
      <Son><div>Hello World</div></Son>
    - 子组件
      props.children // vnode
  • 传递多个html元素

    javascript 复制代码
    - 父组件
     <Son>
       <header>头部</header>
       <footer>尾部</footer>
     </Son>
    - 子组件
     props.children // [vnode, vnode]

使用:其实props.children属性和vue中的默认插槽有点像

  • vue中:在子组件中使用slot占位 将(父组件中)子组件标签间内容渲染到slot位置;

    javascript 复制代码
    <!-- 子组件 -->
    <template>
      <div class="card">
        <h3>{{ title }}</h3>
        <slot></slot> <!-- 相当于 React 的 {props.children} -->
      </div>
    </template>  
    
    <!-- 父组件使用 -->
    <Card title="用户信息">
      <p>这是插槽内容</p>
      <button>编辑</button>
    </Card>
  • React中:将(父组件中)子组件标签间的内容添加在子组件props.children中,在子组件中想要使用的位置使用即可( {children} )

    javascript 复制代码
    // 子组件
    function Card({ title, children }) {
     return (
       <div className="card">
         <h3>{title}</h3>
         {children} <!-- 相当于 Vue 的 <slot></slot> -->
       </div>
     );
    }
    
    // 父组件使用
    <Card title="用户信息">
     <p>这是children内容</p>
     <button>编辑</button>
    </Card>
相关推荐
LaughingZhu6 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
怕浪猫7 小时前
Electron 开发实战(一):从零入门核心基础与环境搭建
前端·electron·ai编程
小鹏linux7 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
前端若水8 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
Bigger8 小时前
mini-cc:一个轻量级 AI 编程助手的诞生
前端·ai编程·claude
涵涵(互关)9 小时前
Naive-ui树型选择器只显示根节点
前端·ui·vue
BY组态9 小时前
Ricon组态系统最佳实践:从零开始构建物联网监控平台
前端·物联网·iot·web组态·组态
BY组态9 小时前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·物联网·iot·web组态·组态
SoaringHeart9 小时前
Flutter进阶:OverlayEntry 插入图层管理器 NOverlayZIndexManager
前端·flutter
放下华子我只抽RuiKe59 小时前
React 从入门到生产(四):自定义 Hook
前端·javascript·人工智能·深度学习·react.js·自然语言处理·前端框架