npm-history
Installation
npm i @reatom/npm-history
Usage
You should setup historyAtom
in the root of your app, before other dependent atoms will touch the ctx.
import { historyAtom } from '@reatom/npm-history'
import { createBrowserHistory } from 'history'
historyAtom(ctx, createBrowserHistory())
import { History, Location, To, Blocker } from 'history'
export interface HistoryAtom extends AtomMut<History> {
back: Action<[]>
block: Action<[blocker: Blocker], () => void>
forward: Action<[]>
go: Action<[delta: number]>
location: Atom<Location>
push: Action<[to: To, state?: any]>
replace: Action<[to: To, state?: any]>
}
export const historyAtom: HistoryAtom