UNPKG

@25sprout/react-starter

Version:

25sprout web starter with React

31 lines (23 loc) 742 B
import { createAction, handleActions } from 'redux-actions'; import { createContext, useContext } from 'react'; import { Location, History } from 'history'; import history from 'store/history'; export const routeChange = createAction<Location, Location>( 'ROUTE_LOCATION_CHANGE', (location: Location) => location, ); export type State = Location; export const defaultState: State = { ...history.location }; export const reducer = { routing: handleActions<Location, Location>( { ROUTE_LOCATION_CHANGE: (state, action) => ({ ...state, ...action.payload, }), }, defaultState, ), }; export const HistoryContext = createContext<History>(history); export const useHistory = (): History => useContext(HistoryContext);