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

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.lryc.cn/news/483489.html

相关文章:

  • 多模态大模型(1)--CLIP
  • opencv入门学习总结
  • C/C++内存管理 | new的机制 | 重载自己的operator new
  • 知识库管理系统:企业数字化转型的加速器
  • uniapp 如何使用vuex store (亲测)
  • [编译报错]ImportError: No module named _sqlite3解决办法
  • 【旷视科技-注册/登录安全分析报告】
  • python学习记录16
  • AI 大模型在软件开发中的角色
  • React中类组件和函数组件的理解和区别
  • Day62||prim算法精讲 |kruskal算法精讲
  • upload-labs通关练习
  • wordpress搭建主题可配置json
  • RWKV-5/6 论文被 COLM 2024 收录
  • MinIO分片下载超大文件
  • Vue3 -- 新组件【谁学谁真香系列6】
  • Openstack3--本地仓库搭建(ftp源搭建失败)
  • 【初阶数据结构与算法】链表刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
  • 【PGCCC】Postgresql Toast 原理
  • vue3使用element-plus,树组件el-tree增加引导线
  • AlphaFold3中文使用说明
  • 使用@react-three/fiber,@mkkellogg/gaussian-splats-3d加载.splat,.ply,.ksplat文件
  • Koa进阶:掌握中间件和参数校验的艺术
  • 开源共建 | 长安链开发常见问题及规避
  • 【网络】深入理解 HTTPS:确保数据传输安全的核心协议
  • C/C++中使用MYSQL
  • 【GD32】(一) 开发方式简介及标准库开发入门
  • 轻松上手:使用Docker部署Java服务
  • wormml_vgg19
  • Rust学习(二):rust基础语法Ⅰ