当前位置: 首页 > 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.lryc.cn/news/623929.html

相关文章:

  • Java项目中短信的发送
  • 密码学系列 - 零知识证明(ZKP) - 多种承诺方案
  • Java ConcurrentHashMap 深度解析
  • 【LeetCode 热题 100】(八)二叉树
  • EC11编码器
  • 集成电路学习:什么是SIFT尺度不变特征变换
  • 43 C++ STL模板库12-容器4-容器适配器-堆栈(stack)
  • 基于DSP+ARM+FPGA架构的储能协调控制器解决方案,支持全国产化
  • 电子电气架构 --- 自动驾驶汽车的下一步发展是什么?
  • 下降路径最小和
  • 【网络通信】TCP/IP 协议全方位解析​
  • java如何把字符串数字转换成数字类型
  • OpenCV 图像处理核心技术:边界填充、算术运算与滤波处理实战
  • android aidl相关学习
  • 常用的SQL语句
  • java16学习笔记
  • topographic terrain
  • AMBA-AXI and ACE协议详解(七)
  • 计算机网络---跳板机与堡垒机
  • 如何理解事件循环和JS的异步?
  • Oracle查看历史会话信息视图介绍
  • 深入理解QFlags:Qt中的位标志管理工具
  • Springboot项目3种视图(JSP、Thymeleaf、Freemarker)演示
  • 【SpringBoot】SpringBoot的异步任务、邮件发送、定时任务
  • Spring Bean 的生命周期:从创建到销毁的完整旅程​
  • 好看的个人导航系统多模板带后台
  • React端到端测试
  • 通达信【牛股妖股埋伏】副图+选股指标
  • Shell脚本-while循环应用案例
  • nn.Module模块介绍