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<类型>(初始值);

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

相关推荐
我命由我123451 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_2 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
抱抱宝2 小时前
Agent-study项目教程(03):手写 Mini-ReAct Agent(不依赖框架)
javascript·人工智能·gpt·react.js·prompt·agent
东风破_3 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
圣殿骑士-Khtangc4 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne5 小时前
【ijkplayer】 硬解码流程
前端
kyriewen5 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek
捡田螺的小男孩6 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒6 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端
90后的晨仔6 小时前
uni-app 路由跳转与页面导航 —— 终极详解(对标 iOS / Android / 鸿蒙三端原生)
前端