npm包umi-history使用教程

在前端开发过程中,应用的访问历史记录是很重要的一个用户体验,通常我们会使用前端路由来实现并管理历史记录。而 umi-history 这个npm包提供了一种更好的方式来添加、删除和监听历史记录的变化,下面就来详细介绍一下它的使用教程。

安装

如果你的项目是基于 umijs 框架的话,那么umi-history已经自带了,无需安装。如果不是的话,执行以下命令进行安装:

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

或者

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

使用

umi-history 提供了下列 API 功能:

createBrowserHistory()

此 API 用于创建一个浏览器历史记录对象,可以使用它来添加、删除和监听浏览器的历史记录。

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

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

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

createHashHistory()

此 API 用于创建一个hash模式的历史记录对象,可以使用它来添加、删除和监听历史记录。

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

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

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

History 对象属性和方法

无论你使用的是 createBrowserHistory() 还是 createHashHistory(),返回的实例都是同一个对象。它具有一些属性和方法:

  1. length:历史记录中的条目数。
  2. action:当前历史记录条目的动作类型:POP(退回)或PUSH(前进)或 REPLACE`(替换)。
  3. location:当前页面的位置。
  4. push(path, [state]):将新页面添加到历史记录中。
  5. replace(path, [state]):用新页面替换当前页面。
  6. go(n):向后或向前移动n个历史记录条目。
  7. goBack():相当于 go(-1)。
  8. goForward():相当于 go(1)。
  9. block(prompt):阻止在当前位置(位置在 history 的栈顶)的 navigation(或者用下文的语言句式阻止用户离开当前页面)。
------ - -------------------- - ---- --------------

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

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

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

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

listen()方法

此方法可以监听浏览器历史记录发生的变化,当有历史记录添加、删除或被替换时就会触发。

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

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

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

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

示例代码

下面是一个简单的例子,使用 umi-history 包,展示如何使用它来管理历史记录。

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

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

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

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

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

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

总结

使用 umi-history 包,我们得以继续使用现代浏览器的历史记录 API 来管理我们应用的访问历史记录。这个包的使用也非常简单,只需几行代码就能轻松的实现添加、删除和监听浏览器历史记录的变化。希望这篇文章对您有所帮助,谢谢!

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


猜你喜欢

  • npm 包 spotify-wrapper-web-api 使用教程

    什么是 spotify-wrapper-web-api? spotify-wrapper-web-api 是一个用于访问 Spotify Web API 的 npm 包。

    3 年前
  • npm 包 angular2-schema-form-no-reduce 使用教程

    在我们进行前端开发时,经常需要使用到表单,而 AngularJS 是一个非常流行且强大的前端框架,Angular2-schema-form-no-reduce 就是一个非常好用的 Angular2 应...

    3 年前
  • npm 包 sh4rd-sjcl 使用教程

    前言 在前端开发中,我们经常需要对用户数据进行加密处理。而 sjcl 是一个在浏览器中运行的加密算法库,它支持多种对称加密算法,同时还提供了现代密码学中常用的哈希算法、消息认证码算法等。

    3 年前
  • npm 包 maximum-overbusiness 使用教程

    在前端开发中,我们常常需要使用各种各样的工具和库来辅助完成开发任务。而 npm 是一个非常重要的工具,它可以帮助我们方便快捷地管理和使用这些工具和库。其中,maximum-overbusiness 是...

    3 年前
  • NPM包 React-IE8-Loading的使用教程

    在本文中,我们将介绍如何使用NPM包React-IE8-Loading。这个小巧的插件可以很方便地实现IE 8兼容的loading特效。此外,我们还将探讨一些与React和IE兼容性相关的问题,同时给...

    3 年前
  • npm 包 rx-from-event-emitter 使用教程

    RxJS 是一个强大的 JavaScript 库,它提供了各种操作符和工具,方便我们处理异步流操作。在这个库中,"Observable" 是一种基本的数据类型,它代表了一组异步数据流,可以订阅和取消订...

    3 年前
  • npm包blockwork使用教程

    前言 现在前端开发已经成为一个精细化的领域,为了加快开发和提高效率,使用第三方库已经成为了一种普遍的选择。而npm作为前端最常用的包管理器之一,对于开发者来说已经变得不可或缺了。

    3 年前
  • npm 包 node-red-contrib-ftp-download 使用教程

    简介 在前端开发过程中,经常会需要使用文件上传、下载等功能,而 ftp 是一种常见的文件传输协议。在 Node.js 环境下,npm 包 node-red-contrib-ftp-download 可...

    3 年前
  • npm 包 k8w-pixi-tween 使用教程

    在前端开发中,动画是一个重要的方面。而在实现动画效果时,Tween 动画是非常常见的一种方式。在 Pixi.js 中,k8w-pixi-tween 是一个非常优秀的 Tween 动画库,它可以实现丰富...

    3 年前
  • npm 包 allex_jobondestroyablelowlevellib 使用教程

    前言 在前端开发中,经常会用到各种 npm 包来加速开发或解决问题。而 allex_jobondestroyablelowlevellib 是一个值得关注的 npm 包。

    3 年前
  • npm 包 dbmmodsdev 使用教程

    前言 在前端开发中,我们经常使用许多工具和框架来简化开发流程和提升效率。其中,npm 包是一个非常重要的工具,它可以让我们方便地管理和使用各种开源库和模块。 在本文中,我们将介绍一个适用于前端开发的 ...

    3 年前
  • npm 包 dl-animate 使用教程

    前端动画是网站中十分重要的一环,可以让网站更加生动有趣,给用户带来良好的交互体验。而在前端动画的开发中,使用 npm 包可以让我们更加高效地编写代码。这里介绍一个优秀的 npm 包 - dl-anim...

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

    React 已经成为了现代前端开发中最流行和强大的 JavaScript 框架之一。在 React 社区中,有数以万计各式各样的 npm 包,为开发者提供了便捷的工具和组件。

    3 年前
  • npm 包 goacargo 使用教程

    什么是 goacargo? goacargo 是一款基于 Node.js 平台开发的 npm 包,它提供了一些常用的前端开发工具,如自动编译 Less、Sass、Stylus 等样式文件、自动处理 J...

    3 年前
  • npm 包 @dsschneidermann/gulp-inlinejs 使用教程

    在前端开发中,我们经常需要将 JavaScript 代码嵌入到 HTML 页面中。为了方便起见,我们可以使用 @dsschneidermann/gulp-inlinejs 这个 npm 包实现自动将 ...

    3 年前
  • npm 包 ngx-scroll-to-top 使用教程

    随着 Web 页面的不断演进,页面的内容越来越多,当用户需要滚动页面到底部时,他们可能需要翻上很多次才能回到页面顶部。为了提高用户体验,我们可以使用 ngx-scroll-to-top,它是一个将页面...

    3 年前
  • npm 包 react-render-in-series 使用教程

    在 React 开发过程中,我们经常需要按照一定的顺序渲染多个组件,例如实现一个步骤条或者一个表单向导。但是,React 默认情况下是无序渲染的,需要开发者手动设置。

    3 年前
  • npm 包 bootstrap24 使用教程

    前言 在前端开发中,快速搭建一个美观且响应式的网站是很常见的需求。有很多经典的前端框架,Bootstrap 是其中最流行的之一。但是,Bootstrap 官方提供的资源需要手动下载并引入,这个过程有些...

    3 年前
  • npm 包 @bryce-gibson/nodegit 使用教程

    前言 随着现在 web 应用的需求越来越复杂,前端工程师需要掌握更多的技术,其中使用 git 来管理代码是必备的技能。@bryce-gibson/nodegit 是一个基于 Node.js 封装的 g...

    3 年前
  • npm 包 ionic-android-file-explorer 使用教程

    在前端开发中,我们经常需要使用手机或平板电脑等移动设备进行测试和调试,然而在移动设备上浏览和管理文件并不像在电脑上那样方便,这就需要一个能够在移动设备上浏览和管理文件的工具。

    3 年前

相关推荐

    暂无文章