TypeScript 和 React 结合开发指南

阅读时长 12 分钟读完

前言

TypeScript 是一种面向对象的编程语言,它是 JavaScript 的超集,可以为 JavaScript 添加静态类型检查和语法扩展。React 是一个开源的 JavaScript 库,用于构建用户界面。TypeScript 和 React 结合使用可以提高代码可读性、可维护性和可靠性。

本文将介绍如何使用 TypeScript 开发 React 应用程序,包括配置开发环境、使用 TypeScript 开发组件和使用 TypeScript 集成 React 生态系统中的第三方库。本篇指南将对初学者和有经验的开发人员有所帮助。

配置开发环境

安装 TypeScript

首先,我们需要安装 TypeScript。可以使用以下命令在全局范围内安装 TypeScript。

创建项目

接下来,使用以下命令创建一个新的 React 应用程序。

此命令会创建一个新的 React 应用程序,并使用 TypeScript 作为模板。

配置项目

我们需要配置一些内容以便使用 TypeScript 开发 React 应用程序。

tsconfig.json

首先,创建一个 tsconfig.json 文件,该文件将用于配置 TypeScript 编译器。

-- -------------------- ---- -------
-
  ------------------ -
    ------ ------- --------------- ----------
    ---------- -----
    --------------- -----
    ------------------ -----
    ------------------------------- -----
    --------- -----
    ----------------------------------- -----
    --------- ---------
    ------------------- -------
    -------------------- -----
    ------------------ -----
    --------- -----
    ------ -------
  --
  ---------- -------
-

此配置选项将允许我们在开发时使用最新的 ECMAScript 标准、React 和 TypeScript。此外,这还允许我们通过 import React from 'react' 导入 React。

eslint

其次,我们需要配置 eslint 以使用 TypeScript 规则。

运行以下命令安装所需的包:

接下来,创建一个 .eslintrc.js 文件:

-- -------------------- ---- -------
-------------- - -
  ---- -
    -------- -----
    ------- -----
  --
  -------- -
    ---------
    ---------------------------
    ---------------------------------
    ----------------------------------------
    -----------
    ------------------------------
  --
  ------- ----------------------------
  -------------- -
    ------------- -
      ---- -----
    --
    ------------ ---
    ----------- ---------
  --
  -------- --------- -------------- --------------------- ------------
  ------ -
    ------------------------------- --- - ----------- -------- ---
    -------------------- ------
    ------------------- ------
    ---------------------------------------- -
      --
      -
        ---------------- ---
        ---------------- ---
        ------------------ ---
        ------- ---------
        ------ ---
      --
    --
    ------------------------------- ------
    -------------------- ----------
    ---------------------------------------------------- ------
    ------------------------------------- ------
    --------------------------------------------------- ------
    ----------------------- ------
    ------------------------------------------ ----------
    ------------------------------------ ------
  --
--

我们可以使用以下命令在我们的编辑器中使用此规则:

使用 CSS 模块

最后,我们需要配置 css-loaderstyle-loader 以支持使用 CSS 模块。

运行以下命令安装所需的包:

tsconfig.json 文件中添加以下内容:

index.tsx 中导入 CSS 文件:

在组件中使用 CSS 模块:

使用 TypeScript 开发组件

现在,我们已经配置好了开发环境,我们可以开始使用 TypeScript 开发 React 组件了。

props 和状态

在 TypeScript 中,我们可以通过 interface 来定义组件的 props 和状态。

例如,以下代码定义了一个 Button 组件:

-- -------------------- ---- -------
------ ----- ---- --------

--------- ----------- -
  -------- -- -- -----
  ---------- --------
  --------- ----------------
-

--------- ----------- -
  ---------- --------
-

----- ------ ------- ---------------------------- ------------ -
  ------ ----------- - -
    ---------- ------
  --

  ---------------- - --- ---- -- -
    --------------- ---------- ---- ---
  --

  ---------------- - --- ---- -- -
    --------------- ---------- ----- ---
  --

  ----------- - --- ---- -- -
    ----- - -------- -------- - - -----------
    -- ----------- -
      ----------
    -
  --

  --------- ----------- -
    ----- - --------- -------- - - -----------
    ----- - --------- - - -----------
    ------ -
      -------
        -------------
        ------------------------------------
        ------------------------------------
        --------------------------
        -------------------
      -
        ---------- - -------------- - ---------
      ---------
    --
  -
-

------ ------- -------

Refs

在 TypeScript 中,我们可以使用 React.createRef() 来创建一个 ref,这个 ref 可以被传递给 ref 属性。

例如,以下代码显示了如何在 TypeScript 中使用 ref 来获取输入字段的值:

-- -------------------- ---- -------
------ ------ - ---------- --------- - ---- --------

--------- ---------- -
  ------- -------
-

--------- ---------- -
  ------ -------
-

----- ----- ------- --------------------- ----------- -
  ------- -------- - ------------------------------

  ------ ---------- - -
    ------ ---
  --

  ------------ - --- ---- -- -
    ----- - ----- - - --------------------- -- -----------------
    --------------- ----- ---
  --

  --------- ----------- -
    ----- - ----- - - -----------
    ----- - ----- - - -----------
    ------ -
      -----
        ------ -- ------ --------------------------------
        ------ ---------- ----------- ------------------- ------------- ---------------------------- --
      ------
    --
  -
-

------ ------- ------

高阶组件

高阶组件是一个接受一个组件作为参数并返回一个新组件的函数。在 TypeScript 中,我们可以使用泛型来类型化高阶组件的输入和输出。

例如,以下代码创建了一个高阶组件 withLogger

-- -------------------- ---- -------
------ ------ - ------------- - ---- --------

--------- --------------- -
  ---- --------- ------- -- -----
-

-------- ------------ ------- ---------------------------------- ----------------- -
  ------ ----- ---------- ------- ----------------------- ----- ----------------- -
    --- - --------- -------- ---- -- -
      -------------------------- -------------
    --

    --------- ----------- -
      ------ ----------------- --------------- -------------- ---
    -
  --
-

------ ------- -----------

使用 TypeScript 集成第三方库

在 React 生态系统中有许多优秀的第三方库。TypeScript 已经允许我们在集成这些库时获得更好的代码提示和类型检查。

例如,以下代码显示了如何使用 React Hook Form 库:

-- -------------------- ---- -------
------ ----- ---- --------
------ - ------- - ---- ------------------

--------- ---------- -
  --------- -------
  --------- -------
-

-------- ------------ ----------- -
  ----- - --------- ------------ - - ----------------------

  ----- -------- - ------ ------------ ---- -- -
    ------------------
  --

  ------ -
    ----- ----------------------------------
      ------ ------------------------- --
      ------ ------------------------- --------------- --
      ------- -----------------------------
    -------
  --
-

------ ------- ----------

总结

TypeScript 和 React 结合开发可以提高代码可读性、可维护性和可靠性。本文介绍了如何配置开发环境、使用 TypeScript 开发组件和使用 TypeScript 集成 React 生态系统中的第三方库。同时,我们还简要介绍了如何使用 interface 来定义组件的 props 和状态、如何使用 ref、如何使用高阶组件。希望本篇指南能对读者有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647ff5be48841e9894f786ee

纠错
反馈