redux-devtools/packages/redux-devtools-inspector
Kevin Ghadyani 62957d2472
Added ability to display function name as actionType
The normal advice is that `actionType` should be a string. This is purely for debugging purposes. If the tools used for debugging are altered, then it would be easier to use something other than a string.

Using a function means you don't have to have a separate action variable from the action creator itself:
```js
some someActionCreator = () => ({
  type: someActionCreator,
})
```

Redux doesn't care if your action type is a string, object, symbol or whatever. Even @gaearon noted it should be a Symbol for uniqueness, but only said to use strings because of the debugging potential.

Another benefit of using functions is you're only comparing memory references rather than strings. This is a performance boost, but probably not one that will manifest in most applications.

We could even take this further to include `symbol.description` and `classInstance.constructor.name`.

The one downfall is most Redux tooling both utilizes and expects strings. This would need to change. Even `createReducer` would need to take a `Map` of actions instead of an `Object` or this wouldn't work.
2019-10-30 14:28:45 -05:00
..
demo/src Use prettier 2019-01-10 20:51:14 +02:00
src Added ability to display function name as actionType 2019-10-30 14:28:45 -05:00
.babelrc Update babel 2019-02-06 01:59:55 +02:00
.npmignore Move redux-devtools-inspector package (#429) 2018-12-22 02:10:49 +02:00
demo.gif Move redux-devtools-inspector package (#429) 2018-12-22 02:10:49 +02:00
LICENSE Move redux-devtools-inspector package (#429) 2018-12-22 02:10:49 +02:00
package.json Update babel 2019-02-06 01:59:55 +02:00
README.md Use prettier 2019-01-10 20:51:14 +02:00
webpack.config.js Use prettier 2019-01-10 20:51:14 +02:00

redux-devtools-inspector

npm version

A state monitor for Redux DevTools that provides a convenient way to inspect "real world" app states that could be complicated and deeply nested. Created by @alexkuz and merged from alexkuz/redux-devtools-inspector into reduxjs/redux-devtools monorepo.

Installation

npm install --save-dev redux-devtools-inspector

Usage

You can use Inspector as the only monitor in your app:

containers/DevTools.js
import React from 'react';
import { createDevTools } from 'redux-devtools';
import Inspector from 'redux-devtools-inspector';

export default createDevTools(<Inspector />);

Then you can render <DevTools> to any place inside app or even into a separate popup window.

Alternative, you can use it together with DockMonitor to make it dockable.
Consult the DockMonitor README for details of this approach.

Read how to start using Redux DevTools.

Features

The inspector displays a list of actions and a preview panel which shows the state after the selected action and a diff with the previous state. If no actions are selected, the last state is shown.

You may pin a certain part of the state to only track its changes.

Props

Name Type Description
theme Object or string Contains either base16 theme name or object, that can be base16 colors map or object containing classnames or styles.
invertTheme Boolean Inverts theme color luminance, making light theme out of dark theme and vice versa.
supportImmutable Boolean Better Immutable rendering in Diff (can affect performance if state has huge objects/arrays). false by default.
tabs Array or function Overrides list of tabs (see below)
diffObjectHash Function Optional callback for better array handling in diffs (see jsondiffpatch docs)
diffPropertyFilter Function Optional callback for ignoring particular props in diff (see jsondiffpatch docs)

If tabs is a function, it receives a list of default tabs and should return updated list, for example:

defaultTabs => [...defaultTabs, { name: 'My Tab', component: MyTab }]

If tabs is an array, only provided tabs are rendered.

component is provided with action and other props, see ActionPreview.jsx for reference.

Usage example: redux-devtools-test-generator.

License

MIT