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

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.dtcms.com/a/336318.html

相关文章:

  • 第12章《学以致用》—PowerShell 自学闭环与实战笔记
  • “让机器人更智慧 让具身体更智能”北京世界机器人大会行业洞察
  • Python 调试工具的高级用法
  • OJ目录饿
  • Python 基础语法(二)
  • Kubernetes存储迁移实战:从NFS到阿里云NAS完整指南
  • 【踩坑笔记】50系显卡适配的 PyTorch 安装
  • XF 306-2025 阻燃耐火电线电缆检测
  • JavaScript 性能优化实战:从评估到落地的全链路指南
  • Docker Compose 安装 Neo4j 的详细步骤
  • 福彩双色球第2025094期号码分析
  • Jenkins - CICD 注入环境变量避免明文密码暴露
  • 用MTEB对Embedding模型进行benchmark
  • Pell数列
  • 基本的设计原则
  • SONiC (4) - redis的介绍以及应用
  • 远程协作绘图:借助 cpolar 内网穿透服务访问 Excalidraw
  • 用PaddleDetection套件训练自己的数据集,PP-YOLO-SOD训练全流程
  • 领域快速入门过程记录之--电力网络
  • ROS常用命令手册
  • # C++ 中的 `string_view` 和 `span`:现代安全视图指南
  • GaussDB常用术语缩写及释义
  • 【Linux】IO多路复用
  • nodejs 错误处理
  • Shell脚本-条件判断相关参数
  • 任务型Agent架构简介
  • JUC并发编程04 - 同步/syn-ed(01)
  • prototype 和 _ _ proto _ _的关联
  • 计算机网络 OSI 七层模型和 TCP 五层模型
  • 【Linux系列】如何在 Linux 服务器上快速获取公网