npm 包 electrode-redux-router-engine-redial 使用教程

简介

随着 Web 应用技术的发展,前端的应用越来越复杂。针对这种情况,出现了许多框架和库。其中,Redux 是一个非常流行的状态管理库。Redux 的核心思想是将应用程序的状态储存在一个单一的、可预测的状态树中,在应用中唯一存在的 state 对象中,甚至包含了路由信息。

在 Redux 中,使用 Router 来管理应用的路由信息。而 Redux Router Engine Redial 就是一个与 Redux Router 结合使用的中间件,可以使服务器端渲染时的路由信息与 Redux Store 中的状态信息一致。它提供了 redial 函数来处理服务器端 Redux Store 初始化时的事件触发,可以在服务端渲染页面前先获取并处理服务端请求数据,使得页面能够在客户端加载前直接展现出初始化后的页面。本文主要介绍 electrode-redux-router-engine-redial 的使用方法。

安装

使用 npm 进行安装:

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

基本用法

在使用 electrode-redux-router-engine-redial 之前,需要先安装并了解 react-routerredux。以下是一个简单的示例:

app.js:

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

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

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

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

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

store.js:

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

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

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

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

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

routes.js:

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

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

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

actions.js:

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

Home.js:

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

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

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

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

以上代码定义了三个路由(Home、About、Contact),其中 Home 路由定义了一个 loadData 函数。当用户访问首页时,会自动加载数据。

在服务器端,需要使用 redial 函数来处理这个事件:

server.js:

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

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

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

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

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

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

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

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

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

以上代码中,使用 matchRoutes 函数来确定当前路由,再使用 Redial.trigger 来触发 loadData 函数。

结语

electrode-redux-router-engine-redial 的基本使用方法已经介绍完毕。通过这个库,可以方便地对应用程序的数据进行初始化,服务端实现渲染的同时,在客户端实现应用程序的初始化,提高应用程序在启动阶段的性能,并且使应用尽量不再出现空白屏幕。

实际项目中,还可以通过 onEnteronChange 等方法,配合 redial,来触发不同的异步操作。

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


猜你喜欢

  • npm 包 alooma-c3 使用教程

    #npm 包 alooma-c3 使用教程 在前端开发中,我们常常需要使用一些第三方库来实现我们想要的功能。其中,npm 是一个非常流行的包管理工具。在本文中,我将介绍一个针对数据可视化库 C3.js...

    3 年前
  • npm 包 element-ui-tuoke 使用教程

    前端开发中,我们经常会使用 UI 框架来快速地制作网页。其中,element-ui 是一个非常流行的 UI 框架,它提供了多种常用的组件和功能。而 element-ui-tuoke 这个 npm 包是...

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

    前言 在前端开发中,代码质量是非常重要的。为了保证代码的质量,我们需要借助静态类型检查工具、代码格式规范工具等等来辅助我们进行代码开发维护。其中 ESLint 是其中一种常用的代码检查工具,它能帮助我...

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

    随着前端技术的不断发展,越来越多的开发者开始使用 Vue 来构建自己的 Web 应用。在 Vue 的生态圈中,有很多优秀的第三方插件和库,这些插件和库可以帮助我们更加轻松地完成各种复杂的任务。

    3 年前
  • npm 包 new-freshbooks 使用教程

    前言 在 Web 前端开发过程中,常常需要使用各种依赖包进行开发。其中,包管理工具 npm 非常常用。npm 可以使我们方便地安装、升级、卸载各种依赖包。在 npm 包之中,new-freshbook...

    3 年前
  • npm包golos-addons使用教程

    前言 在前端开发中,我们经常需要调用第三方库或框架来实现复杂的功能。而npm作为前端工程化中的一个重要工具,提供了海量的第三方包供开发者使用,极大地提高了前端开发的效率和便利性。

    3 年前
  • npm 包 @kentomoriwaki/react-router-redux4 的使用教程

    什么是 @kentomoriwaki/react-router-redux4? @kentomoriwaki/react-router-redux4 是一个前端技术栈中用来处理路由和状态管理的 npm...

    3 年前
  • npm 包 octava-jquery-form 使用教程

    Octava-jquery-form 是一个应用于前端开发的 npm 包,其主要功能是操作表单,包括表单验证、序列化、取消等。本文将详细介绍该 npm 包的使用,包括安装、使用方法、参数配置以及示例。

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

    简介 vue-computed-array 是一个基于 Vue.js 的计算属性库,用于构建大型的、高效的计算属性数组。它提供了一种简单、易用的方法来创建复杂的计算属性,同时保持代码的可读性和可维护性...

    3 年前
  • npm 包 phosphor-layouts 使用教程

    什么是 phosphor-layouts? phosphor-layouts 是一个基于 CSS Grid Layout 和 Flexbox 的布局引擎,它提供了一种灵活的方式来创建响应式布局。

    3 年前
  • npm 包 gulp-rev-collector-param 使用教程

    1. 简介 gulp-rev-collector-param 是一款非常实用的前端 npm 包,它可以帮助我们自动生成 hash 文件名,以及自动替换引用的文件路径。

    3 年前
  • npm 包 arts-nodejs 使用教程

    在现代化的前端开发中,使用各种开源的 npm 包已成为一个常态。而在众多的 npm 包中,arts-nodejs 是一个适合 Node.js 平台使用的模板引擎。通过本文你可以学习如何使用 arts-...

    3 年前
  • npm 包 npm-nodejs 使用教程

    npm 是一个 Node.js 的包管理工具,允许用户从 npm 的仓库中安装和使用各种包或者模块,例如用来构建 Web 应用的 React、Vue 和 Angular 等框架,以及用来优化代码质量和...

    3 年前
  • npm 包 @ambassify/phonenumber 使用教程

    前言 在前端开发中,经常需要对电话号码进行验证或格式调整,而 @ambassify/phonenumber 就是一个兼容多种国家或地区电话号码格式的 npm 包,在实际开发中具有很高的实用性。

    3 年前
  • NPM 包 from-svn-to-yandex-disk 使用教程

    在前端开发中,包管理工具 NPM 已经成为了必须掌握的工具。NPM 提供各种各样的依赖包,使得开发人员可以更快、更简单地开发和部署应用和项目。 其中,from-svn-to-yandex-disk 就...

    3 年前
  • npm 包 spider-components 使用教程

    介绍 spider-components 是一个基于 React 的 UI 组件库,旨在帮助开发者快速构建高质量的前端界面。它包括了许多常用 UI 组件,如按钮、输入框、表格等。

    3 年前
  • npm 包 axe-crawler 使用教程

    Axe-crawler 是一个非常好用的前端自动化测试工具,它可以自动化分析您的网站,找出其中的可访问性问题,并生成详细的报告。本文将介绍如何使用 npm 包 axe-crawler 进行可访问性测试...

    3 年前
  • npm 包 common-words-bg 使用教程

    介绍 在前端开发中,我们会遇到一些需要对文本进行操作的场景,例如筛选出文章中出现最频繁的词汇,或者排除无意义的常用词汇等。而 common-words-bg 就是一个便捷的 npm 包,它能够帮助我们...

    3 年前
  • npm 包 lycwed-cordova-plugin-admob-maio 使用教程

    前言 在移动应用开发中,广告是一种常用的盈利手段。而在 Cordova 开发中,我们可以使用 lycwed-cordova-plugin-admob-maio 这个 npm 包来实现广告功能的集成。

    3 年前
  • npm 包 lego-supportor 使用教程

    简介 npm 是一款由 Node.js 实现的包管理器,可用于发布、发现、安装和管理 Node.js 模块。我们可以通过 npm 来实现快速下载各类前端库,在 web 开发中使用这些库能够提高我们的效...

    3 年前

相关推荐

    暂无文章