How to load your own state slice
When loading your own state slice into ipa-core, the slice file must be added into the following location: packages/ipa-core/src/redux/slices
We will use an example of the Modal slice to illustrate how to configure a state slice in Redux.
This file was added into packages/ipa-core/src/redux/slices
import { createSlice } from "@reduxjs/toolkit";
const initialState = { component: undefined, props: undefined, open: false,}
const slice = createSlice({ name: 'modal', initialState, reducers: { setModal: (state, {payload: {component, props, open}}) => { state.component = component state.props = props if(_.isBoolean(open)) { state.open = open } }, setOpen: (state, {payload}) => { state.open = payload; }, destroy: (state) => { state.component = initialState.component; state.props = initialState.props; state.open = initialState.open; }, }})
export default slice.reducer;
export const actions = slice.actions;We then must add this to our main.js file located at:packages/ipa-core/src/redux
import * as modal from './slices/modal'
const redux = { ... Modals: { ...modal.actions }}
export default reduxWe also add to add it to our frameworkReducers object in store.js located at: packages/ipa-core/src/redux
import modal from './slices/modal'
const frameworkReducers = { ... modal}