npm install redux-reset
1.Setup in createStore
import reduxReset from 'redux-reset'
...
const enHanceCreateStore = compose(
applyMiddleware(...),
reduxReset() // Will use 'RESET' as default action.type to trigger reset
)(createStore)
const store = enHanceCreateStore(reducers)
2.Dispatch reset action
store.dispatch({
type: 'RESET'
})
import Enum from 'es6-enum'
const APP = Enum('RESET')
const enHanceCreateStore = compose(
applyMiddleware(...),
reduxReset(APP.RESET) // Set action.type here
)(createStore)
const store = enHanceCreateStore(reducers)
AFTER:
store.dispatch({
type: APP.RESET
})
store.dispatch({
type: 'RESET',
state: {app: {user: 'anotherUser'}} // Will use this as new initial state
})
import Enum from 'es6-enum'
const APP = Enum('RESET')
const enHanceCreateStore = compose(
applyMiddleware(...),
reduxReset({
type: APP.RESET,
data: 'initialStateComesFrom'
})
)(createStore)
const store = enHanceCreateStore(reducers)
AFTER:
store.dispatch({
type: APP.RESET,
initialStateComesFrom: {app: {user: 'anotherUser'}}
})
MIT