npm 包 @kentomoriwaki/react-router-redux4 的使用教程

什么是 @kentomoriwaki/react-router-redux4?

@kentomoriwaki/react-router-redux4 是一个前端技术栈中用来处理路由和状态管理的 npm 包,它结合了 react-router 和 redux 进行开发,可以帮助我们更方便地管理应用程序的路由和状态。

安装

使用 npm 或 yarn 进行安装:

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

或者

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

使用

在我们的应用程序中,我们需要使用 react-redux 的 Provider 组件来将 store 注入到我们的应用程序中。而 @kentomoriwaki/react-router-redux4 中使用的路由则是 React Router v4,所以我们也需要安装并导入该组件到我们的应用程序中。具体导入方式如下:

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

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

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

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

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

在我们的代码中,我们首先创建了一个 sagaMiddleware 中间件实例,让它和 redux createStore 方法一起使用。然后将 sagaMiddleware 实例传递给 applyMiddleware 方法,通过 applyMiddleware 方法将 sagaMiddleware 注入到我们的 store 中。最后,我们将 Provider 组件和 BrowserRouter 组件进行嵌套,将 store 注入到我们的应用程序中。

接下来,我们需要结合 react-router 和 redux 中的 connect 方法,并使用 @kentomoriwaki/react-router-redux4 的 ConnectedRouter 组件 以及 routerReducerrouterMiddleware 两个中间件来处理我们的路由和状态。具体使用方式如下:

实现路由的控制

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

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

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

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

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

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

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

在我们的代码中,我们首先创建了一个浏览器路由的实例 history,然后在 combineReducers 方法中使用 routerReducer,将路由状态添加到我们的 store 中。

接下来,我们调用 routerMiddleware 方法来创建一个路由中间件,让 history 实例能够和 pushreplace 等方法进行结合使用,处理我们的路由事件。

最后,我们将 ConnectedRouter 组件和 App 组件进行嵌套,使用 connect 方法将组件和 store 进行连接,并采用 redux 的高阶技术在组件内部控制路由。

值得注意的是,如果我们需要使用 NavLink 组件、withRouter 方法等,所有需要使用到历史记录、地址栏等浏览器 API 的组件都需要被 ConnectedRouter 组件进行包装。

实现路由的重定向

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

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

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

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

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

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

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

在我们的代码中,我们在 Route 组件的下方添加了如下一行代码:

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

这行代码的含义是:如果当前路径是 /,则重定向到 /home

总结

@kentomoriwaki/react-router-redux4 是一个npm包,它可以协助我们更好地管理应用程序的路由和状态。使用 @kentomoriwaki/react-router-redux4 我们可以使用 React Router v4 和 redux 状态管理的同时,还可以使用 connect 方法、ConnectedRouter 组件和 routerReducerrouterMiddleware 中间件等等强大功能,让我们可以更加灵活、可控制和可扩展地管理我们的应用程序。

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


猜你喜欢

  • npm 包 @dww/bs-webapi 使用教程

    介绍 @dww/bs-webapi 是一个 Node.js 的 npm 包,它提供了一种简便的方式来实现 WebAPI 的调用。该包支持许多常见的 WebAPI 如:RestfulAPI、SOAP A...

    3 年前
  • npm 包 @allinsonmota/converter 使用教程

    在前端开发中,我们经常需要对一些数据进行格式转换、编解码等操作。而在 Node.js 中,npm 包是我们实现这些操作的关键工具之一。本文将介绍一个实用且易用的 npm 包 @allinsonmota...

    3 年前
  • NPM 包 cheerio-react-bind 使用教程

    前言 在前端开发中,我们常常需要使用到 HTML 标记语言编写页面,但是纯粹的 HTML 总是不能满足实际需求,因此我们会引入一些库或框架来帮助我们进行页面开发。 而 cheerio-react-bi...

    3 年前
  • npm 包 angulardoc 使用教程

    随着前端工程化进程的不断提升,前端开发的标准化和规范化也越来越重要,而文档编写则是其中不可缺少的一部分。angulardoc 就是一个为 Angular 手动编写文档提供自动化工具的 npm 包,它可...

    3 年前
  • npm 包 ark-qrcode-vue 使用教程

    当今互联网上的信息流量十分巨大,我们需要各种方式来让信息快速传递。二维码是信息传递快速便捷的方式之一,它也在越来越多的场景下应用。在前端开发时,如果能够快速生成并且展示二维码,那么对于我们来说将是非常...

    3 年前
  • npm 包 async-scope 使用教程

    在前端开发中,异步编程是非常常见的。但异步编程往往会导致数据依赖和数据流难以控制。这时就需要使用异步控制的工具包。其中,async-scope 是一个非常不错的 npm 包,提供了一种方式来强制执行多...

    3 年前
  • npm 包 eslint-config-bighuman 使用教程

    背景 & 简介 JavaScript 语言本身是比较松散的语言,代码质量的统一规范是十分有必要的,尤其在协作开发中。有了代码规范的统一,会更能够减少开发中出现的 bug 和错误,提高代码质量。

    3 年前
  • npm 包 behance-react 使用教程

    介绍 npm 是一个开源的包管理器,用于快速安装、发布和分享 JavaScript 代码包。behance-react 是一个基于 React 实现的 Behance API 客户端,在使用 beha...

    3 年前
  • npm 包 coocss-vue 使用教程

    在前端开发中,CSS 是不可或缺的一部分。为了方便开发者快速创建符合设计规范的样式,许多 CSS 框架和工具被开发出来,其中 coocss-vue 就是其中一款优秀的工具。

    3 年前
  • npm 包 flow-jsx-walk 使用教程

    在前端开发中,编写复杂的 React 组件时,我们会使用 JSX 语法来描述组件的结构和行为。而使用 flow 进行类型检查,可以大大减少代码中的错误,提高代码质量和稳定性。

    3 年前
  • npm 包 gollumts-trait 使用教程

    介绍 gollumts-trait 是一个可以方便地在 TypeScript 中定义类的 traits 的 npm 包,它提供了类似于 Rust 语言的 trait 多态特性,让开发者可以在 Type...

    3 年前
  • npm 包 is-global-object 使用教程

    如果你是一位前端工程师,你肯定会在项目中使用许多 npm 包,而其中有一个非常实用的包就是 is-global-object。is-global-object 是一个判断对象是否是全局对象的 npm ...

    3 年前
  • npm 包 react-isometric-grid 使用教程

    React-isometric-grid 是一个基于 React 的 npm 包,可以使用简单的代码实现一个等距网格布局。在前端开发中,等距布局比传统的水平和垂直布局更加美观和多样化。

    3 年前
  • React Native Super Photo View npm 包使用教程

    React Native Super Photo View 是一个用于 React Native 应用程序的开源 npm 包。这个包的作用是实现图片浏览的功能,优化展示大图体验,支持手势缩放,支持旋转...

    3 年前
  • npm 包 react-polyglot-provider 使用教程

    概述 在前端开发中,多语言支持是一个非常重要的功能。我们开发的应用程序需要支持多种语言,以便更好地服务于全球的用户。而 react-polyglot-provider 是一款强大的 npm 包,它提供...

    3 年前
  • npm 包 vue2-flash 使用教程

    背景 在前端开发中,我们经常需要实现一些页面交互效果,其中包括闪烁提示等视觉反馈。vue2-flash 是一个基于 Vue.js 的轻量级闪烁提示组件,支持自定义样式和持续时间,可以帮助开发者更快地实...

    3 年前
  • npm包koa2-log使用教程

    介绍 koa2-log是一个为Koa2框架设计的日志记录中间件,它可以记录服务器的请求与响应。使用此中间件可以帮助我们更好地了解服务器在运行期间的情况,方便我们排查问题。

    3 年前
  • npm 包 koa2-file-map 使用教程

    在前端开发中,经常需要处理文件相关的操作,比如上传文件、生成文件等。koa2-file-map 是一个基于 Koa2 的文件操作库,可以帮助我们快速地完成一些文件操作。

    3 年前
  • npm 包 @ttn/card-game 使用教程

    随着 Web 应用的普及和用户对交互性的需求不断提高,卡牌游戏成为了越来越受欢迎的一类游戏。而开发一款卡牌游戏需要用到很多前端技术,例如 Canvas、SVG、动画等等。

    3 年前
  • npm 包 calamus-vue-canvas 使用教程

    介绍 calamus-vue-canvas 是一个在 Vue.js 中使用 Canvas 绘图库 Calamus 的 npm 包。它可以让你轻松在 Vue.js 中使用 Canvas 绘制图形,实现一...

    3 年前

相关推荐

    暂无文章