当前位置: 首页 > java >正文

ReactNode 类型

在 React + TS 中,children 的类型通常写成 ReactNode

什么是 ReactNode

在 @types/react 里定义大概是这样的(简化版)

type ReactNode =| ReactElement         // <div />、<MyComp />| string               // "hello"| number               // 123| boolean              // true/false(但渲染时会忽略)| null                 // 不渲染| undefined            // 不渲染| ReactNode[]          // 数组,比如 ["a", <div/>]

👉 它几乎涵盖了 JSX 中 所有可能被渲染 的内容。

在组件里传 children 的场景

比如写一个容器组件:

import { ReactNode } from "react"interface Props {children: ReactNode
}const Card = ({ children }: Props) => {return <div className="card">{children}</div>
}export default Card

使用时,这里 <h1>Hello</h1><p>World</p> 就作为 children 传进 Card,类型是 ReactNode

<Card><h1>Hello</h1><p>World</p>
</Card>

为什么用 ReactNode

ReactNode 更宽泛,能匹配 几乎所有 React 可以渲染的东西
其他类型:

  • any 不好看
  • JSX.Element 只能接收 单个 JSX 节点(不支持 string、number、数组、null 等)
http://www.xdnf.cn/news/18081.html

相关文章:

  • Java学习笔记:IDEA简单使用技巧
  • 使用vscode的task.json来自动执行make命令,而不直接使用终端
  • Eclipse Tomcat Configuration
  • 基于Python的旅游推荐系统 Python+Django+Vue.js
  • 【抽象类和接口】
  • Javascript面试题及详细答案150道之(106-120)
  • HAL-USART配置
  • 数据电台询价的询价要求
  • 计算机毕业设计java的小天鹅酒店月子会所管理小天鹅酒店母婴护理中心管理系统设计小天鹅酒店产后护理会所信息化管理平台
  • 利用pyxlsbwriter包实现写入xlsb和xlsx格式及读取效率的比较
  • Forward Propagation|前向传播
  • Python可视化工具-Bokeh:动态显示数据
  • 功能强大!开源免费的视频翻译、音视频转录工具
  • 深度解析 Tomcat ProtocolHandler 工作原理
  • 牛客周赛 Round 104(小红的矩阵不动点/小红的不动点权值)
  • 【AI智能体】Dify 搭建发票识别助手操作实战详解
  • 深入理解QFlags:Qt中的位标志管理工具
  • 【URP】[法线贴图]为什么主要是蓝色的?
  • PowerPoint和WPS演示让多个对象通过动画同时出现
  • LeetCode 刷题【44. 通配符匹配】
  • 【杂谈】-以质代量:谷歌主动学习范式重构AI训练逻辑
  • 朝花夕拾(四) --------python中的os库全指南
  • 【k8s】Kubernetes核心概念与架构详解
  • 向量数据库
  • Qt | 四种方式实现多线程导出数据功能
  • Python爬虫实战:研究optimesh库,构建Github网格数据采集系统
  • 好看的个人导航系统多模板带后台
  • OpenAI 发布了 GPT-5,有哪些新特性值得关注?国内怎么使用GPT5?
  • 乐观锁和悲观锁
  • Opencv 形态学与梯度运算