I’m working with ngrx and this is my initialState:
export interface Bonus110State { agent: Agent; isEdited: boolean; isResetted: boolean; steps: Step[]; response: ResponseReport; customer: any | null; address: Address | null; error: boolean | null; } export const initialState: Bonus110State = { agent: { name: null, eta: null }, customer: null, response: { responseCode: null, responseMessage: null }, address: { isset: false, id: null, street: null, streetNumber: null, city: null, cap: null, province: null, firstname: null, lastname: null, vat: null, taxid: null, business_name: null }, isEdited: false, isResetted: false, steps: [...environment.initialStateMap], error: null };
i need reinitialize the state feature. This is my reducer’s case:
case Bonus110ActionTypes.CLEAR_BONUS110_STATE: { const newState = Object.assign({}, initialState); newState.isResetted = true; console.log('NEWSTATE', newState); return newState;
I’m expecting that this reducer, clean my feature state, returning it equal to the initialState.
But the state dosen’t change. If i log the initialState, it is equal to the actual state
The only way I can reset it is doing this before the reducer inizialization
const initialStateCloned: Bonus110State = _cloneDeep(initialState);
and then
case Bonus110ActionTypes.CLEAR_BONUS110_STATE: { const newState = Object.assign({}, initialStateCloned); newState.isResetted = true; console.log('NEWSTATE', newState); return newState;
I’m using the metareducer to clear all the state, and it is working well. but in this case i need to clear only this slice of state. i’m struggling on this from a while.