mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-11-25 19:13:56 +03:00
bdb9b953ef
- remotedev-redux-devtools-extension@3.0.5 - d3-state-visualizer@1.6.0 - d3tooltip@2.1.0 - map2tree@2.1.0 - react-base16-styling@0.9.1 - react-dock@0.5.1 - react-json-tree@0.16.1 - @redux-devtools/app@2.1.0 - @redux-devtools/chart-monitor@2.1.0 - @redux-devtools/cli@1.0.5 - @redux-devtools/dock-monitor@2.1.0 - @redux-devtools/extension@3.2.0 - @redux-devtools/inspector-monitor-test-tab@0.8.4 - @redux-devtools/inspector-monitor-trace-tab@0.3.3 - @redux-devtools/inspector-monitor@2.1.0 - @redux-devtools/instrument@2.1.0 - @redux-devtools/log-monitor@3.1.0 - @redux-devtools/remote@0.7.3 - @redux-devtools/rtk-query-monitor@2.1.0 - @redux-devtools/serialize@0.4.1 - @redux-devtools/slider-monitor@3.1.0 - @redux-devtools/ui@1.2.0 - @redux-devtools/utils@1.2.0 - @redux-devtools/core@3.11.0 - d3-state-visualizer-tree-example@0.1.4 - react-dock-demo@0.1.4 - react-json-tree-example@1.1.6 - test-demo@0.1.7 - inspector-demo@0.1.5 - rtk-query-demo@0.1.6 - slider-todomvc@0.1.8 - counter-redux@0.1.7 - todomvc@0.2.6 |
||
---|---|---|
.. | ||
src | ||
test | ||
.eslintignore | ||
.eslintrc.js | ||
babel.config.esm.json | ||
babel.config.json | ||
CHANGELOG.md | ||
jest.config.js | ||
LICENSE.md | ||
package.json | ||
README.md | ||
tsconfig.json | ||
tsconfig.test.json |
Redux DevTools Instrumentation
Redux enhancer used along with Redux DevTools or Remote Redux DevTools.
Installation
yarn add @redux-devtools/instrument
Usage
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);
}
API
instrument(monitorReducer, [options])
- arguments
- monitorReducer function called whenever an action is dispatched (see the example of a monitor reducer).
- options object
- maxAge number or function(currentLiftedAction, previousLiftedState) - maximum allowed actions to be stored on the history tree, the oldest actions are removed once
maxAge
is reached. Can be generated dynamically with a function getting current action as argument. - shouldCatchErrors boolean - if specified as
true
, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched. - shouldRecordChanges boolean - if specified as
false
, it will not record the changes tillpauseRecording(false)
is dispatched. Default istrue
. - pauseActionType string - if specified, whenever
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. - shouldStartLocked boolean - if specified as
true
, it will not allow any non-monitor actions to be dispatched tilllockChanges(false)
is dispatched. Default isfalse
. - shouldHotReload boolean - if set to
false
, will not recompute the states on hot reloading (or on replacing the reducers). Default totrue
. - trace boolean or function - if set to
true
, will include stack trace for every dispatched action. You can use a function (with action object as argument) which should returnnew Error().stack
string, getting the stack outside of reducers. Default tofalse
. - traceLimit number - maximum stack trace frames to be stored (in case
trace
option was provided astrue
). By default it's10
. Iftrace
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 forError\n
).
- maxAge number or function(currentLiftedAction, previousLiftedState) - maximum allowed actions to be stored on the history tree, the oldest actions are removed once
License
MIT