react+ts

本文探讨了如何在React和TypeScript项目中有效利用Hook(如useState)的自动推导功能,创建Vite项目模板,以及如何通过泛型、useRef等技术确保类型安全,包括DOM操作和组件prop的类型定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概念

React和TypeScript集合使用的重点集中在 存储数据/状态有关的Hook函数以及组件接口的位置,这些地方最需要数据类型校验
在这里插入图片描述

2.使用Vite创建项目

Vite是前端工具链工具,可以帮助我们快速创建一个 react+ts 的工程化环境出来
Vite官网:https://cn.vitejs.dev/

npm create vite@latest react-typescript -- --template react-ts
                        项目名称                        模版模式

安装依赖运行项目

# 安装依赖
npm i 

# 运行项目
npm run dev

3.useState——自动推导

简单场景

简单场景下,可以使用TS的自动推断机制,不用特殊编写类型注解,运行良好

const [val, toggle] = React.useState(false)
// `val` 会被自动推断为布尔类型
// `toggle` 方法调用时只能传入布尔类型
// react + ts
// 根据初始值自动推断
// 场景:明确的初始值
import {
   
    useState } from 'react'
function App() {
   
   
  const [value, toggle] = useState(false)
  const [list, setList] = useState([1, 2, 3])

  const changeValue = () => {
   
   
    toggle(true)
  }

  const changeList = () => {
   
   
    setList([4])
  }
  return <>this is app {
   
   list}</>
}

export default App

4.useState——传递泛型参数

useState本身是一个泛型函数,可以传入具体的自定义类型

// react + ts
type User = {
   
   
  name: string
  age: number
}
const [user, setUser] = useState<User>({
   
   
   name: 'jack',
   age: 18,
  })

说明:
1.限制useState函数参数的初始值必须满足类型为:user | (

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiojio冲冲冲

能帮助你是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值