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

react 中 FC 模块作用

`React.FC` 是一个泛型类型,用于定义函数组件的类型

一、类型定义和代码可读性

1. 明确组件类型

使用`React.FC`定义一个组件时,使得组件的输入(props)和输出(返回的 React 元素)都有明确的类型定义。

import React from "react";



interface Props {

  name: string;

}



const MyComponent: React.FC<Props> = ({ name }) => {

  return <div>Hello, {name}!</div>;

};

2. 增强代码可读性

看到`React.FC`就表明这是一个 React 函数组件。同时可以查看组件 Props 的类型。

二、隐式的属性类型和默认值

1. 隐式的属性类型检查

使用`React.FC`后,TypeScript 会自动将`children`的类型设置为`ReactNode`。

import React from "react";



const MyComponent: React.FC = ({ children }) => {

  return <div>{children}</div>;

};

// 正确的用法,因为 `React.FC` 自动处理了 `children` 类型

<MyComponent>Hello World</MyComponent>;

// 错误的用法,因为 `number` 类型的子元素不符合 `ReactNode` 类型(除了特定情况)

<MyComponent>{123}</MyComponent>;

2. 默认属性值支持

`React.FC`还支持为组件的属性设置默认值。在组件定义中,可以通 `defaultProps`属性来设置默认值。

import React from "react";



interface Props {

  count: number;

}

const MyComponent: React.FC<Props> = ({ count }) => {

  return <div>{count}</div>;

};

MyComponent.defaultProps = { count: 0 };

// 可以不传 `count` 属性,此时 `count` 的值为默认值 `0`

<MyComponent />;


http://www.kler.cn/a/392081.html

相关文章:

  • Nuxt 版本 2 和 版本 3 的区别
  • 【数据结构与算法】第11课—数据结构之选择排序和交换排序
  • 更改Ubuntu22.04锁屏壁纸
  • Python多进程间通讯(包含共享内存方式)
  • 2024.11.12_大数据的诞生以及解决的问题
  • 深度学习之 LSTM
  • int溢出值(c基础)
  • next中服务端组件共享接口数据
  • 基于yolov8、yolov5的番茄成熟度检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • 2025年使用 AI 识别解决 reCAPTCHA
  • spring-IOC使用注解
  • Python的面向对象
  • SpringBoot+Vue,尽享个性化音乐推荐与分享的网站
  • 揭秘均值抽样分布:因果推断的统计学基础
  • 如何在 Spring Boot 中启用定时任务
  • 【银河麒麟】时间同步工具chrony与ntp对比
  • golang分布式缓存项目 Day2 单机并发缓存
  • labview拆解日期字符串
  • 【大数据学习 | HBASE高级】mr操作hbase
  • MySQL技巧之跨服务器数据查询:基础篇-更新语句如何写
  • 音视频入门基础:MPEG2-TS专题(3)——TS Header简介
  • 从零开始使用YOLOv11——Yolo检测detect数据集自建格式转换为模型训练格式:20w+图片1w+类别代码测试成功
  • PointMamba: A Simple State Space Model for Point Cloud Analysis——点云论文阅读(10)
  • 边缘计算与推理算力:智能时代的加速引擎
  • 开源大模型推理引擎现状及常见推理优化方法总结
  • ubontu安装anaconda