Reducer Plugin

For advanced users, who want to add additional action handler to reducer, provides a reducer plugin function. Reducer.plugin will take additional action handlers and return a new reducer function. Plugin is only meant to be called where the store is initialized. The state passed into the additional action handler is the instance state.

Reducer.plugin will allow advanced users to extend the reducer behavior. Here is an example of adding an additional action HIDE_AND_SHOW_SIDE_PANEL handler that modifies the uiState.

import {combineReducers} from 'redux';
import keplerGlReducer from '';

const customizedKeplerGlReducer = keplerGlReducer
   HIDE_AND_SHOW_SIDE_PANEL: (state, action) => ({
     uiState: {
       readOnly: !state.uiState.readOnly

const reducers = combineReducers({
 keplerGl: customizedKeplerGlReducer,
 app: appReducer

Note that, reducer plugin should not be used to override default actions The following code will not change SET_FILTER, because plugins are handled after default actions.

const customizedKeplerGlReducer = keplerGlReducer
   [ActionTypes.SET_FILTER]: (state, action) => state

For full implementation, take a look at the custom reducer example

Last updated