【React 常用的 TS 类型】持续更新

1)定义样式的 TS 类型 【 React.CSSProperties 】

一般定义样式时需要的类型限制,如下:

javascript 复制代码
const customStyle: React.CSSProperties = {
    color: 'blue',
    fontSize: '16px',
    margin: '10px',
  };

2)定义 Input Ref 属性时的 TS 类型限制 【 React.RefObject<> 】这是一个泛型,内部表示引用的所有类型,如下:

javascript 复制代码
  <FormItem<ModalFormType>
    label="部署 Code"
    name="departmentCD"
    type="Input"
    input_maxLength={20}
    input_disabled={modalStateTitle === "edit"}
    input_ref={modalFormInput as React.RefObject<InputRef>}
    rules={[{ required: true, validator: departmentCDChange }]}
    style={{ width: "100%" }}
  />

3)定义 Input 输入框内容改变 ( change )事件类型 【 ChangeEvent<HTMLInputElement> 】

4)定义 Input 输入框按下回车事件类型 【 KeyboardEvent<HTMLInputElement> 】

5)定义返回值等通用类型 【 React.ReactNode 】

表示的是所有可以用于渲染的类型,比如最常见的 <span> <div> 字符串,数字,数组等。

如下 Tooltip 组件的封装:

javascript 复制代码
import { Tooltip } from "antd";
import React from "react";

interface CustomTooltipProps {
  title: string;
  children?: React.ReactNode;
}

const CustomTooltip: React.FC<CustomTooltipProps> = ({ title, children }) => {
  return (
    <Tooltip placement="topLeft" color="geekblue" title={title}>
      {children}
    </Tooltip>
  );
};

export default CustomTooltip;

时小记,终有成。

相关推荐
人工智能训练1 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪1 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
2601_949593652 小时前
基础入门 React Native 鸿蒙跨平台开发:模拟智能音响
react native·react.js·harmonyos
xiaoqi9222 小时前
React Native鸿蒙跨平台如何进行狗狗领养中心,实现基于唯一标识的事件透传方式是移动端列表开发的通用规范
javascript·react native·react.js·ecmascript·harmonyos
jin1233223 小时前
React Native鸿蒙跨平台剧本杀组队消息与快捷入口组件,包含消息列表展示、快捷入口管理、快捷操作触发和消息详情预览四大核心功能
javascript·react native·react.js·ecmascript·harmonyos
烬头88214 小时前
React Native鸿蒙跨平台实现二维码联系人APP(QRCodeContactApp)
javascript·react native·react.js·ecmascript·harmonyos
pas1364 小时前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js
摇滚侠4 小时前
2 小时快速入门 ES6 基础视频教程
前端·ecmascript·es6
2601_949833394 小时前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
珑墨5 小时前
【Turbo】使用介绍
前端