当前位置:首页 > React

react如何使用ts

2026-02-12 07:14:04React

使用 TypeScript 与 React 结合开发

在 React 项目中使用 TypeScript 可以增强类型安全性和开发体验。以下是具体实现方法:

创建支持 TypeScript 的 React 项目

通过官方脚手架工具直接生成 TypeScript 模板:

npx create-react-app my-app --template typescript

对于 Vite 项目:

npm create vite@latest my-app -- --template react-ts

组件类型定义

函数组件可以通过 React.FC 或直接标注类型:

interface Props {
  title: string;
  count?: number;
}

const MyComponent: React.FC<Props> = ({ title, count = 0 }) => (
  <div>
    <h1>{title}</h1>
    <p>Count: {count}</p>
  </div>
);

类组件写法:

interface State {
  clicks: number;
}

class Counter extends React.Component<Props, State> {
  state: State = { clicks: 0 };

  handleClick = () => {
    this.setState(prev => ({ clicks: prev.clicks + 1 }));
  }
}

处理事件类型

表单事件处理示例:

const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
  console.log(e.target.value);
};

const handleSubmit = (e: React.FormEvent) => {
  e.preventDefault();
};

Hooks 类型标注

常见 Hooks 的类型使用方式:

const [count, setCount] = useState<number>(0);
const inputRef = useRef<HTMLInputElement>(null);

useEffect(() => {
  const timer = setTimeout(() => {}, 1000);
  return () => clearTimeout(timer);
}, []);

类型扩展与复用

创建可复用的类型定义:

type User = {
  id: string;
  name: string;
  email?: string;
};

interface ApiResponse<T> {
  data: T;
  status: number;
}

第三方库类型支持

安装包含类型的库:

npm install @types/react-router-dom

对于没有官方类型的库,可以声明自定义类型:

declare module 'untyped-library' {
  export function someFunction(arg: string): void;
}

配置 tsconfig.json

推荐的基础配置:

{
  "compilerOptions": {
    "target": "ES6",
    "lib": ["dom", "dom.iterable", "esnext"],
    "jsx": "react-jsx",
    "strict": true,
    "esModuleInterop": true
  }
}

常见问题解决

处理 children 属性:

interface LayoutProps {
  children: React.ReactNode;
}

const Layout = ({ children }: LayoutProps) => <div>{children}</div>;

样式对象类型:

react如何使用ts

const styles: React.CSSProperties = {
  padding: '1rem',
  backgroundColor: '#f5f5f5'
};

分享给朋友:

相关文章

react 如何运行

react 如何运行

运行 React 项目的步骤 安装 Node.js 确保系统已安装 Node.js(建议版本 16+),可通过官网下载并安装。安装后验证版本: node -v npm -v 创建 React 项目…

react如何encode

react如何encode

React 中编码的实现方式 在 React 中,编码通常涉及对 URL、HTML 实体或特殊字符的处理。以下是几种常见的编码方法: 使用 encodeURIComponent 进行 URL 编码…

如何用react

如何用react

使用React的基本步骤 安装Node.js和npm 确保系统已安装Node.js和npm。Node.js自带npm,可从官网下载安装包。安装完成后,通过命令行验证版本: node -v npm -…

react如何分

react如何分

React 分页实现方法 在 React 中实现分页功能可以通过多种方式完成,以下是几种常见的方法: 使用状态管理分页数据 在组件内部维护当前页码和每页数据量的状态,通过计算切片数据实现分页。…

如何设计react组件

如何设计react组件

设计 React 组件的核心原则 React 组件的设计需要遵循高内聚、低耦合的原则,确保组件功能独立且易于维护。组件的设计可以分为展示组件和容器组件两类,展示组件负责 UI 渲染,容器组件负责逻辑处…

如何编译react文件

如何编译react文件

编译 React 文件的方法 使用 Create React App (CRA) Create React App 是官方推荐的快速搭建 React 项目的工具,内置了 Babel 和 Webpack…