react useState ts定义类型

在 React 中使用 useState 时,如果你在 TypeScript 里想为 useState 明确指定状态的类型,可以这样做:

1. 基础类型

比如,声明一个数字类型的 state:

tsx 复制代码
import React, { useState } from "react";

const Example: React.FC = () => {
  // 方式一:类型自动推断
  // const [count, setCount] = useState(0);

  // 方式二:显式指定类型
  const [count, setCount] = useState<number>(0);

  return (
    <div>
      <button onClick={() => setCount(count + 1)}>点击: {count}</button>
    </div>
  );
};

export default Example;

2. 对象类型

当 state 是对象时:

tsx 复制代码
type User = {
  name: string;
  age: number;
};

const [user, setUser] = useState<User>({ name: "张三", age: 18 });

3. 数组类型

tsx 复制代码
const [list, setList] = useState<string[]>([]);

4. 联合类型或可为空

如果 state 可能为 null,需要加上 null:

tsx 复制代码
const [data, setData] = useState<string | null>(null);

总的语法形式:

tsx 复制代码
const [state, setState] = useState<类型>(初始值);

如果有具体的类型定义问题,可以把你的实际代码发出来帮你更详细解答!

相关推荐
Java后端的Ai之路9 小时前
06-React-Props
前端·react.js·前端框架
Flynt10 小时前
开源"间谍卫星"说数据全是真的,我把它的免key数据源挨个试了一遍
前端·开源·数据可视化
Csvn10 小时前
渲染管线
前端
程序员大阳10 小时前
副队长CSS教程(33)–圆角与透明
前端·css·透明·圆角
志尊宝11 小时前
Vue3 零基础每日笔记(082):文件上传实战——el-upload 校验、自定义上传、头像预览
前端·javascript·vue.js·笔记·#javascript·#vue.js
鬼手点金11 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
柳杉11 小时前
借助 Codex 和可视化工作流,从调研到完整实现,3D 大屏竟然可以这么简单
前端·ai编程·数据可视化
IMPYLH12 小时前
HTML 的 <wbr> 元素
前端·html
Dovis(誓平步青云)12 小时前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus
IT_陈寒13 小时前
Vite的这个问题坑了我三天,原来如此解决!
前端·人工智能·后端