react 中 FC 模块作用

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

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

1. 明确组件类型

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

javascript 复制代码
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`。

javascript 复制代码
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`属性来设置默认值。

javascript 复制代码
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 />;
相关推荐
梦想的颜色33 分钟前
【编程实战】AI 时代 APP 开发全栈硬核指南:技术选型 + AI 架构 + 模型落地全维度决策
python·flutter·react native·react.js·ai·桌面应用·milvus
拆房老料42 分钟前
ONLYOFFICE也能像Microsoft Word和WPS一样分别设置中西文字体
前端·html·word·开源软件·wps
知野小兔1 小时前
对比react钩子函数
react.js
Solis程序员1 小时前
Stripe 幂等表:把「不确定的重试」变成「查表返回」
前端·安全·bootstrap·php·agent
李纲明1 小时前
WordPress 站点变慢:按 TTFB → 缓存 → 查询 → 前端 分层排查(含配置注意)
前端·缓存·性能优化·wordpress·后端开发
程序人生8881 小时前
PDF 转 Word 版式错乱、表格丢失?DocConverter Web 格式互转引擎的保真实践
前端·人工智能·opencv·机器学习·pdf·word
粥里有勺糖2 小时前
安利一下最近用的桌面“Agent” | T3 Code
前端·github·ai编程
xy34532 小时前
Axure 9.0 动态面板基本操作
前端·ui·html·axure·原型·产品设计
不停喝水3 小时前
【前端转全栈java速通课】 项目实战④7-11节 操作数据库-登录-注册-修改密码-注销-mubatis-plus简化crud-
java·前端·数据库
一水鉴天3 小时前
统一对象拓扑(UOT)设计全链定稿:从三件事分离到三继承 之1 20261010(豆包“查看聊天内容”继续)
前端·css