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 包 atscntrb-hx-libev 使用教程

    前言 在前端开发中,我们经常需要使用各种第三方的库。其中,npm 作为前端生态系统中最重要的一环,为我们提供了大量的优质的开源库,极大地方便了我们项目的开发。在这里,我们将介绍一个常用的 npm 包—...

    3 年前
  • npm 包 atscntrb-hx-libsdl2 使用教程

    前端开发中,随着需求的增多,库和框架的使用变得越来越重要。作为前端开发者,我们需要熟练掌握各种库和框架的使用方法,方便快捷地完成任务。今天,我将向大家介绍一个使用广泛的 npm 包 atscntrb-...

    3 年前
  • npm 包 atscntrb-hx-libxml2 使用教程

    什么是 atscntrb-hx-libxml2? atscntrb-hx-libxml2 是一个基于libxml2库的 Node.js C++ 扩展,提供了访问和解析 XML 文件的能力。

    3 年前
  • npm 包 keycloak-authenticate 使用教程

    Keycloak 是一个开源的身份和访问管理系统,支持多种协议和认证模式。keycloak-authenticate 是一个基于 Node.js 的 npm 包,可简化使用 Keycloak 进行身份...

    3 年前
  • npm 包 najdisi-sms-api 使用教程

    简介 najdisi-sms-api 是一款在 Node.js 环境下可用的 Slovenian mobile network provider Najdi.si SMS API 的官方 Node.j...

    3 年前
  • npm 包 react-star-rating-component-forked 使用教程

    在前端开发中,我们经常需要使用一些第三方库或框架来协助我们完成实际的开发工作。其中,npm 是一个很常见也很流行的 JavaScript 包管理器,提供了大量的开源库供开发者使用。

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

    简介 vue-input-selector 是一个基于 Vue 的 npm 包,用于构建带有下拉选择器选择的输入框。它集成了多种输入提示和选择菜单的样式和选项,提供了丰富的、可定制化的选项和样式。

    3 年前
  • npm包imdb-ratings使用教程

    概述 npm包 imdb-ratings 是一个提供电影评分信息的npm包,支持查询IMDb网站上的电影评分数据。利用其可以快速获取到目标电影的评分,非常适合在前端中集成使用。

    3 年前
  • npm 包 "jsonresume-theme-light-classy-responsive-fr" 使用教程

    “jsonresume-theme-light-classy-responsive-fr” 是一个基于 JSON Resume 的简历主题,它以简洁、优雅和响应式为设计理念,使用者可以利用它来轻松创建...

    3 年前
  • npm 包 iota-ternary 使用教程

    随着物联网、区块链等领域的发展,三进制数值(Ternary)受到越来越多的关注。在前端开发中,开发者需要处理三进制数据的时候,可以使用 iota-ternary 这个 npm 包。

    3 年前
  • npm 包 generator-minobo 使用教程

    在前端开发过程中,我们经常需要创建新的项目和初始化项目结构。为了提高效率和质量,我们可以使用一些工具来帮助我们自动生成初始的项目结构和文件,就像使用 Yeoman 和一些 Yeoman generat...

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

    在日常前端开发中,我们经常需要处理一些数据获取、分析的工作。而 fritter-crawler 则是一款能够对网页进行数据爬取的 npm 包,其功能十分强大,可以帮助我们快速、高效地完成数据获取工作。

    3 年前
  • NPM 包 iter-range 使用教程

    在前端开发中,经常需要处理一些数字序列,例如日期范围、页码、表格数据等等。而 JavaScript 的 for 循环虽然便利,但代码量大且容易出错。为了解决这个问题,开发者们纷纷推出了一些能够简化数字...

    3 年前
  • npm 包 qc-dom_utils 使用教程

    简介 qc-dom_utils 是一个用于处理 DOM 元素的 npm 包。它提供了一系列有用的方法,让开发者可以更加方便地操作 DOM 元素,实现更好的交互效果和用户体验。

    3 年前
  • npm 包 @genesisui/styles 使用教程

    在前端开发中,样式表是非常重要的一部分。为了方便开发者进行样式的管理和使用,社区中出现了很多优秀的 CSS 框架和工具库。其中,@genesisui/styles 是一款基于 Sass 和 CSS3 ...

    3 年前
  • npm包 @vroger/vue-videobg使用教程

    什么是@vroger/vue-videobg? @vroger/vue-videobg是一个能够在Vue.js应用中实现背景视频效果的npm包。其底层依赖于原生的HTML5 video和CSS3的背景...

    3 年前
  • npm 包 chai-moment-string 使用教程

    前言 在前端开发中,很多时候需要对日期时间进行操作和比较。而 JavaScript 的内置方法对于日期时间的操作不够方便,也不够直观。这时候就需要使用第三方库,如 Moment.js 和 Chai。

    3 年前
  • npm 包 babel-preset-babel6-aws-lambda 使用教程

    在前端开发过程中,我们通常会遇到需要将一些 JavaScript 代码转换成一些特定环境下可执行的代码的情况。而 AWS Lambda 是一种近年来广泛应用的云计算服务,它提供了一个无服务器的计算能力...

    3 年前
  • npm 包 ember-semantic-proper-modals 使用教程

    前言 在前端开发中,弹窗是一个常见的功能,但是不同的项目中实现弹窗的方式可能有很大的区别。在 Ember.js 框架中,提供了一种轻便、易用的插件 - ember-semantic-proper-mo...

    3 年前
  • npm 包 ts-action-es5 使用教程

    在实际的前端开发中,我们经常需要处理用户的操作事件,如点击按钮、输入框内容改变等等。为了方便处理这些事件,我们常常会将它们封装成一个个动作。而在 TypeScript 中,我们可以使用定义好的接口来规...

    3 年前

相关推荐

    暂无文章