Redux enhancer used along with Redux DevTools or Remote Redux DevTools.
yarn add @redux-devtools/instrument
Add the store enhancer:
store/configureStore.js
import { createStore, applyMiddleware, compose } from 'redux';
import thunk from 'redux-thunk';
import devTools from 'remote-redux-devtools';
import reducer from '../reducers';
// Usually you import the reducer from the monitor
// or apply with createDevTools as explained in Redux DevTools
const monitorReducer = (state = {}, action) => state;
export default function configureStore(initialState) {
const enhancer = compose(
applyMiddleware(...middlewares),
// other enhancers and applyMiddleware should be added before the instrumentation
instrument(monitorReducer, { maxAge: 50 })
);
// Note: passing enhancer as last argument requires redux@>=3.1.0
return createStore(reducer, initialState, enhancer);
}
instrument(monitorReducer, [options])
maxAge
is reached. Can be generated dynamically with a function getting current action as argument.true
, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched.false
, it will not record the changes till pauseRecording(false)
is dispatched. Default is true
.pauseRecording(false)
lifted action is dispatched and there are actions in the history log, will add this action type. If not specified, will commit when paused.true
, it will not allow any non-monitor actions to be dispatched till lockChanges(false)
is dispatched. Default is false
.false
, will not recompute the states on hot reloading (or on replacing the reducers). Default to true
.true
, will include stack trace for every dispatched action. You can use a function (with action object as argument) which should return new Error().stack
string, getting the stack outside of reducers. Default to false
.trace
option was provided as true
). By default it's 10
. If trace
option is a function, traceLimit
will have no effect, that should be handled there like so: trace: () => new Error().stack.split('\n').slice(0, limit+1).join('\n')
(+1
is needed for Chrome where's an extra 1st frame for Error\n
).MIT
Version | Tag | Published |
---|---|---|
2.1.0 | latest | 1yr ago |