Skip to content

lit-ui-router-mobx / RouterStore

Class: RouterStore

Defined in: router-store.ts:24

An observable mirror of a router's current state.

A single transitionService.onSuccess hook (registered by attach) pushes the current state, params, and transition into MobX observables. Components observe the store through ReactionController / RouterReactionController selectors and re-render automatically when the values they select change — no manual requestUpdate() calls and no per-component hook subscriptions.

Use the for factory to get the store for a router: it memoizes one store (and one transition hook) per router instance.

Constructors

Constructor

ts
new RouterStore(): RouterStore;

Defined in: router-store.ts:55

Returns

RouterStore

Properties

PropertyTypeDefault valueDescriptionDefined in
current?StateDeclarationundefinedThe current state declaration (globals.current).router-store.ts:26
paramsRawParams{}The current parameter values (globals.params), replaced per transition.router-store.ts:29
transition?TransitionundefinedThe most recent successful transition.router-store.ts:32

Methods

attach()

ts
attach(router): () => void;

Defined in: router-store.ts:88

Starts mirroring the given router. Called by for; call directly only when managing the store instance yourself.

Idempotent per router: attaching again to the router already being mirrored returns the same deregistration function instead of registering a second hook. Calling that function detaches the store, after which it can be attached again.

Parameters

ParameterType
routerUIRouter

Returns

the hook's deregistration function.

() => void

Throws

if the store is already attached to a different router — one store mirrors one router; use for to get that router's own store.


for()

ts
static for(router): RouterStore;

Defined in: router-store.ts:45

The observable store for the given router — one per router instance. The first call attaches the store's transition hook; the hook (and the store) live as long as the router itself.

Parameters

ParameterType
routerUIRouter

Returns

RouterStore


includes()

ts
includes(stateOrName, params?): boolean;

Defined in: router-store.ts:121

Observable version of StateService.includes: is the state (or glob pattern, e.g. 'admin.**') included in the current active state?

Parameters

ParameterType
stateOrNameStateOrName
params?RawParams

Returns

boolean