路由器内部维护的状态。在导航期间,除非另有说明,否则所有状态都反映“旧”位置。

interface RouterState {
    actionData: null | RouteData;
    blockers: Map<string, Blocker>;
    errors: null | RouteData;
    fetchers: Map<string, Fetcher<any>>;
    historyAction: NavigationType;
    initialized: boolean;
    loaderData: RouteData;
    location: Location<any>;
    matches: AgnosticDataRouteMatch[];
    navigation: Navigation;
    preventScrollReset: boolean;
    restoreScrollPosition: null | number | false;
    revalidation: RevalidationState;
}

属性

actionData: null | RouteData

当前匹配的操作数据

blockers: Map<string, Blocker>

当前阻止器的映射

errors: null | RouteData

从当前匹配的加载器捕获的错误

fetchers: Map<string, Fetcher<any>>

当前获取器的映射

historyAction: NavigationType

最近一次导航的操作

initialized: boolean

跟踪我们是否已完成初始数据加载

loaderData: RouteData

当前匹配的加载器的数据

location: Location<any>

路由器反映的当前位置

matches: AgnosticDataRouteMatch[]

当前路由匹配集合

navigation: Navigation

跟踪当前导航的状态

preventScrollReset: boolean

指示此导航是否应跳过重置滚动位置(如果我们无法恢复滚动位置)

restoreScrollPosition: null | number | false

新视图应从其开始的当前滚动位置

  • number -> 要恢复到的滚动位置
  • false -> 完全不恢复滚动(在提交期间使用)
  • null -> 没有保存的位置,滚动到哈希或页面顶部
revalidation: RevalidationState

跟踪任何正在进行的重新验证