Skip to content

MemoryHistory

Memory history stores the current location in memory. It is designed for use in stateful non-browser environments like tests and React Native.

The full documentation for MemoryHistory can be found here

Reference to source code

Usage

ts
import { createMemoryHistory } from "mobx-location-history";
import { reaction } from "mobx";

export const history = createMemoryHistory();

reaction(
  () => history.location.pathname,
  pathname => {
    console.log(pathname);
  }
)

history.push()

MobX modifications

location: Location observable.deep

Original location property wrapped in observable
See documentation here

action: Action observable.ref

Original action property wrapped in observable
See documentation here

isBlocked: boolean computed.struct

This property is needed to detect block statement provided by original history package

blockersCount: number observable.ref

This property is needed to detect block statement provided by original history package

destroy()

This method is needed for destroy all subscriptions and reactions created inside function createMemoryHistory

locationUrl computed.struct

This property represents stringified version of the location property

Example:

ts
/*
{ // location
  pathname: '/en-US/docs/Location.search',
  hash: '',
  search: '?q=123'
}
*/
history.locationUrl; // '/en-US/docs/Location.search?q=123'

Released under the MIT License.