You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React 18+TypeScript开发中types/react与types/react-dom库的用途是什么?

为什么TypeScript React项目里需要@types/react和@types/react-dom?

简单说,这两个包是给React和React-DOM提供TypeScript类型声明的核心工具,具体用途如下:

  • 让TS读懂JS库的API:React和React-DOM本身是JavaScript编写的,没有自带TypeScript需要的类型信息。@types/react和@types/react-dom会把这些库的API结构(比如组件props、钩子参数、方法返回值等)转换成TS能识别的类型定义文件,让TS编译器能理解你写的React代码是否符合规范。
  • 实时代码提示与补全:写组件或调用React钩子时,编辑器能基于这些类型声明给出精准的自动补全——比如useState的泛型提示、div元素的合法属性列表,不用反复查文档就能写对代码。
  • 提前拦截类型错误:TS会在编译阶段根据类型声明检查你的代码,比如给onClick传了字符串而非函数、props传错类型或漏传必填项,这些问题在开发时就能被揪出来,避免到运行时才崩溃。
  • 提升代码可读性与维护性:类型声明相当于自带的文档,其他开发者看你的组件时,一眼就能通过类型定义知道这个组件接受什么参数、返回什么,不用去翻内部逻辑猜用途。

顺带提一句:React 17之后官方内置了部分类型支持,但@types系列包依然会提供更细致、更全面的类型覆盖,尤其是一些边缘API或者和第三方库配合的场景,所以大多数TS React项目还是会保留这两个依赖。另外,它们属于开发依赖(devDependencies),只会在开发和编译阶段生效,不会被打包到生产代码里。

内容的提问来源于stack exchange,提问作者Saad Farooq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:15:34