createGenericSlice
Generic for create Toolkit Slice
Import
import { createGenericSlice } from '@empeek-rnd-ui/redux/toolkit';
Usage
userSlice.ts
interface UsersState {
list: {
ids: string[];
map: Record<string, any>;
};
}
const initialData: UsersState = {
list: {
ids: [],
map: {},
},
};
const userSlice = createGenericSlice({
name: 'users',
initialData,
reducers: {},
extraReducers: (builder) => {
// builder
},
});
export const {
resetSlice,
} = planSlice.actions;
export default planSlice.reducer;
Method createGenericSlice create toolkit slice with custom wrapper of data, adding additional objects to manage state of thunks. You can use all features of toolkit method createSlice
Structure
Your slice will have structure:
const state = {
data: {
list: {
ids: [],
map: {}
}
},
statuses: {},
errors: {},
lastRequestId: {}
}
Actions
resetSlice - action to reset your slice to initialData
import { resetSlice } from './userSlice';
// in your react component
dispatch(resetSlice());