History库源码分析-Action动作类型

2023-11-15 11:29:52

Action

Action 枚举
export enum Action {
  Pop = "POP",
  Push = "PUSH",
  Replace = "REPLACE",
}

Action表示location变化(路由切换)的动作类型,目前有三种动作类型:

  1. POP

    在history栈中,跳转到其他已存在的历史纪录(回退或者前进),这种location变化,叫做POP,比如浏览器的前进或者后退。

    POP动作类型也作为默认的动作类型,当进行push或者replace时,再更新当前的动作类型为PUSH或者REPLACE。

  2. PUSH

    PUSH表示一种新的历史记录被添加到history栈中,例如:react-router中的Link(底层调用的是history.push)。

    关于 When this happens, all subsequent entries in the stack are lost.这句话讲解是:

    如果此时我们通过回退(浏览器回退或者history.back)回到之前的某个节点后,此时执行Link(或者history.push)等,那么当前的history 栈中,此刻的历史记录是处于栈顶的,而之前因为回退经过的几个节点全部丢失。

  3. REPLACE

    REPLACE表示当前的历史记录被新的替换掉,通过调用history.replace。

目录

相关推荐
为什么更多前端应用偏向于单页面应用路由模式-原生historyHistory库源码分析-parsePathHistory库源码分析-createLocation路由模式-hash