Skip to content

Latest commit

 

History

History
45 lines (36 loc) · 1.38 KB

custom-initial-state.md

File metadata and controls

45 lines (36 loc) · 1.38 KB

Custom reducer initial state

For advanced users who wish to modify the initial state of kepler.gl reducer, kepler.gl provides a reducer initialState function. Reducer.initialState will take the custom state and return a new reducer function. initialState is only meant to be called where the store is initialized. The custom state passed in will be shallow merged with the default initialState.

Here is an example modify uiState initialState to hide side panel, and selectively display map control button.

import {combineReducers} from 'redux';
import keplerGlReducer from 'kepler.gl/reducers';

const customizedKeplerGlReducer = keplerGlReducer
  .initialState({
    uiState: {
      // hide side panel to disallow user customize the map
      readOnly: true,

      // customize which map control button to show
      mapControls: {
        visibleLayers: {
          show: false
        },
        mapLegend: {
          show: true,
          active: true
        },
        toggle3d: {
          show: false
        },
        splitMap: {
          show: false
        }
      }
    }
  });

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

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