npm 包 typescript-react-app 使用教程

阅读时长 8 分钟读完

TypeScript 是一种为 JavaScript 添加类型注解的编程语言,它能让你在编写 JavaScript 的同时拥有更好的代码提示,更强大的编译时检查以及更友好的错误提示,这对于大型项目开发非常有用。React 是一个用于构建用户界面的 JavaScript 库,它提供了一套简单而又强大的 API,使得构建复杂的 UI 变得更加容易。本文将介绍如何使用 typescript-react-app 这个 npm 包来快速创建一个基于 TypeScript 和 React 的应用程序。

安装和使用

使用 typescript-react-app 创建应用程序非常简单,只需要在终端中运行下面的命令即可:

这个命令将会下载并创建一个新的 React 应用程序,同时使用 TypeScript 作为主要语言。你可以将 my-app 替换成你自己的项目名称。

运行上述命令后,你会看到一些信息在终端中显示,这些信息告诉你应用程序的目录结构,以及如何在开发和生产环境中运行应用程序。接下来,打开新创建的项目并进行一些简单的修改:

你应该看到一个新的 TypeScript 文件,其中包含一个简单的 React 组件。我们稍稍修改一下这个组件:

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

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

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

修改后的组件中加入了 className 属性,它指定了 CSS 类 App,该类将在我们稍后创建的样式文件中定义。我们还添加了一个新的段落元素,其中包含了一个指向 React 官方文档的链接。

样式处理

要在应用程序中使用 CSS,我们需要先安装一些额外的依赖项。我们将使用 node-sass 这个依赖项来编译 SASS 样式,并将其转换为 CSS:

安装完成后,我们可以在 src 目录下创建一个新的 Sass 文件,例如 App.scss,其中包含了我们想要设置的样式。

接下来,我们需要更新 App.tsx 文件以引入新的样式文件。我们可以使用 import 关键字来加载样式:

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

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

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

现在,我们可以运行应用程序并查看样式是否生效:

组件化开发

在 React 中,你可以将 UI 组件分离成独立的代码片段,然后组合它们以创建复杂的 UI。我们可以创建一个新的组件来替换 App 组件中的所有内容:

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

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

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

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

在这个新的组件中,我们接收了一个 name 属性,并在页面中显示出来。接下来,我们需要更新 src/App.tsx 以使用新的组件:

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

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

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

现在,我们已经将应用程序重构为组件化开发模式,并且能够使用 Sass 来编写样式。

状态管理

在 React 中,你可以使用状态来跟踪应用程序的状态并取得更新以更改UI。 useState 是一种使您能够在函数组件中包含状态的 hook。我们可以添加一个新的按钮来更改我们的 App 组件状态:

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

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

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

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

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

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

在这个修改后的组件中,我们定义了一个名为 count 的新状态,它的值默认为 0。我们还定义了一个新的函数 handleOnClick,它在按钮被点击时被调用,并且通过调用 setCount 函数来更改 count 的值。最后,我们在页面中显示了当前计数器的值。

总结

在这篇文章中,我们介绍了使用 typescript-react-app 创建一个 React 应用程序,并且使用 SASS 来处理样式表。我们还将我们的应用程序重构为组件化开发模式,并展示了如何使用 useState hook 来处理组件的状态。通过使用 TypeScript 和 React,我们能够写出更加类型安全,可重用性更高且易于维护的代码。

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

纠错
反馈