npm 包 create-rrr-app 使用教程

引言

在构建一个 React 项目时,我们经常会遇到一些重复性的工作,如创建项目架构、配置 webpack 或者 babel 等。为了能够提高这些工作的效率,有一个方便的工具可以帮助我们一键完成这些繁琐的任务,那就是 create-rrr-app

create-rrr-app 是一个 React + Redux + React Router 的脚手架,基于官方脚手架 create-react-app 的基础上添加了对 reduxreact-router 的集成。在项目创建过程中,它帮我们完成了很多工作,从而使我们可以更集中地关注项目的核心部分。

本文将为大家介绍如何使用 create-rrr-app

安装

要使用 create-rrr-app,首先需要在本地安装它。

通过 npm 安装:

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

通过 yarn 安装:

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

如果你安装时遇到权限问题,请使用管理员身份运行命令。

创建项目

安装完成后,就可以在命令行中输入 create-rrr-app 来创建一个新的项目,如下所示:

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

其中,my-app 是创建的项目名称。当然,你也可以将其替换为你想要的项目名称。

运行项目

项目创建完成后,就可以在项目根目录下使用以下命令来运行项目:

--- -----

或者使用 yarn

---- -----

在项目启动后,你可以在浏览器中访问 http://localhost:3000 来查看效果。

项目目录结构

使用 create-rrr-app 创建的项目有如下目录结构:

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

其中,public 目录下是一些静态资源,如 HTML 模板、图标、应用程序的配置等。

src 目录下则是应用程序的代码,包括组件、redux action 和 reducer 等。

集成 Redux 和 React Router

使用 create-rrr-app 创建的项目已经默认集成了 Redux 和 React Router,我们只需要编写相应的代码,便可以使用这两个库。

React Router

我们可以在 src 目录下创建一个 Router.js 文件,该文件用于定义应用程序的路由。下面的代码演示了如何定义一个路由:

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

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

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

在上面的代码中,我们使用了 react-router-dom 库来定义路由。其中:

  • Switch 组件表示只匹配一个路由,当匹配到一个路由时,就不再匹配其他路由;
  • Route 组件表示一个路由,其中 path 属性表示路由的路径,component 属性表示路由对应的组件。

Redux

我们可以在 src 目录下创建一个 store 目录,该目录用于存放 Redux 相关的代码。下面的代码演示了如何创建一个 Redux store:

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

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

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

在上面的代码中,我们使用了 redux 库来创建 Redux store,rootReducer 是应用程序所有 reducer 的集合。

接着,我们需要在应用程序中使用该 store。例如,在 index.js 中引入 Providerstore

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

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

在上面的代码中,我们使用了 Provider 组件将 store 传递给所有子组件,在需要使用 statedispatch 的子组件中,可以通过 connect 方法来连接 store。

示例代码

最后,我们提供一个示例代码,该代码实现了一个计数器应用程序,用户可以通过点击按钮来调整计数器的值:

App.js

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

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

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

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

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

actions/index.js

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

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

reducers/index.js

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

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

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

Router.js

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

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

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

使用示例:

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

打开浏览器,访问 http://localhost:3000,即可看到计数器应用程序的效果。

参考资料:

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005523b81e8991b448cfc42


猜你喜欢

  • npm 包 level-pull-blob-store 使用教程

    npm 包 level-pull-blob-store 使用教程 在前端开发中,使用数据存储是必不可少的一个环节,而 npm 包 level-pull-blob-store 是一个非常好用的数据存储库...

    2 年前
  • React-Slick-2 NPM 包使用教程

    React-Slick-2 是一个流行的 React 轮播组件库,能够帮助开发者快速构建漂亮且易于交互的轮播组件。本文将会详细介绍如何使用 React-Slick-2,并提供实用的指导性示例代码。

    2 年前
  • npm 包 csv-stream-loader 使用教程

    简介 csv-stream-loader 是一个基于 csv-parser 的 npm 包,可以快速读取 csv 文件并转换为 JavaScript 对象,方便前端开发中的数据处理、图表展示等场景。

    2 年前
  • npm 包 diamond-operator 使用教程

    在传统的 JavaScript 编程中,经常会出现需要比较两个值的情况。通常情况下,我们使用 if 语句或条件运算符进行比较。然而,在某些情况下,我们希望能够更加简洁地比较两个值。

    2 年前
  • npm 包 react-native-panativemodule 使用教程

    npm 包 react-native-panativemodule 使用教程 引言 React Native 是一种基于 JavaScript 的开源框架,它可以让开发者使用标准的JavaScript...

    2 年前
  • npm 包 roles-client 使用教程

    介绍 roles-client 是一款基于 JavaScript 的 npm 包,用于在前端实现角色权限控制,可以使得在前端开发中,简化权限控制流程,减少后端服务器压力。

    2 年前
  • npm 包 roles-react 使用教程

    介绍 npm 包 roles-react 是一种适用于 React 前端框架的安全角色权限管理解决方案。该解决方案可以有效地帮助前端开发者实现对用户角色权限的管理和控制,从而提高应用系统的安全性和稳定...

    2 年前
  • npm 包 fiblu-test 使用教程

    在前端开发中,我们常常需要测试我们写的代码,以确保其能够正常运行和达到预期的效果。为了提高测试效率和准确性,我们可以使用各种测试工具和框架。其中,npm 包 fiblu-test 是一个非常实用的工具...

    2 年前
  • npm 包 roles-rest-express 使用教程

    简介 roles-rest-express 是一款为 Express 框架设计的 npm 包,它提供了一种简单而有效的角色权限控制方式。该 npm 包基于 JSON Web Token (JWT) 和...

    2 年前
  • 使用 roles-rest-client npm 包进行 REST API 访问

    在前端开发中,经常需要访问后端 REST API 提供的数据和服务。roles-rest-client 是一个非常方便的 npm 包,用于在前端应用程序中进行 REST API 的调用操作。

    2 年前
  • npm 包 sugo-demo-agent 使用教程

    在前端开发中,常常需要使用依赖包来完成某些功能。而 npm (Node Package Manager) 成为了 JavaScript 开发的流行工具之一,它提供了一个用于安装和管理 npm 包的命令...

    2 年前
  • npm 包 sugo-demo-module 使用教程

    简介 npm 是一个 JavaScript 的包管理工具,方便前端开发者使用第三方模块。在这篇文章中,我们将介绍一个名为 sugo-demo-module 的 npm 包,它是一个演示模块,旨在帮助新...

    2 年前
  • npm 包 sugo-module-scss 使用教程

    在前端开发中,CSS 是必不可少的一环。而 Sass 则是 CSS 的强化版,可以帮助开发者更加高效的编写 CSS。而 npm 上有一个名为 sugo-module-scss 的包,可以将 Sass ...

    2 年前
  • npm 包 wuu 使用教程

    随着前端技术的不断发展,npm 成为了前端开发者的必备工具之一。而 wuu 则是一款以 Vue.js 为基础的轻量级组件库,给前端开发者带来了极大的便利性。本文将详细介绍 wuu 如何使用,方便读者更...

    2 年前
  • npm 包 @noffle/reconnect-ws 使用教程

    简介 @noffle/reconnect-ws 是一个基于 WebSocket 的 JavaScript 库,它提供了自动重连的功能。它能够在 WebSocket 连接断开的情况下,自动尝试重新连接,...

    2 年前
  • npm 包 f.2 使用教程

    介绍 f.2 是一个非常实用的 npm 包,可以用于前端开发,特别是在处理数据过滤和转换时非常方便。它支持函数式编程和链式调用,可以让你更加高效地完成开发工作。 安装 你可以通过 npm 安装该包: ...

    2 年前
  • npm 包 voila-service 使用教程

    前言 随着 Web 应用的不断发展,前端领域也日益繁荣。现如今,前端框架已经多种多样,开发工具也逐渐多样化。 在这些开发工具中,npm 作为 Node.js 的包管理工具,是前端开发者常常使用的一种工...

    2 年前
  • npm 包 knoxxnxt-koa-auth 使用教程

    前言 作为前端开发人员,我们在开发 Web 应用时,经常会遇到用户鉴权的问题。本文将介绍一种常用的鉴权工具——knoxxnxt-koa-auth npm 包,包含该 npm 包的详细使用教程及其在实际...

    2 年前
  • npm 包 vue-prevent-parent-scroll 使用教程

    简介 在开发前端应用时,有时候需要在弹出框或者菜单等组件中滚动,但是当鼠标或手指滑动到组件的边缘时,整个页面也会跟着滚动,这显然是不期望的。这时候我们可以使用 vue-prevent-parent-s...

    2 年前
  • npm 包 impiler 使用教程

    什么是 impiler impiler 是一个基于 webpack 的前端工具,用于创建简单易用的组件库模板,让你可以快速地开始开发你的组件库。通过 impiler 的命令行工具,你可以创建出一个基于...

    2 年前

相关推荐

    暂无文章