Yoedusvany Hdez
Yoedusvany Hdez

Reputation: 445

How to update an object's property from another object ngrx

i have this state

interface ILeadsPageState {
  leadsList    : LeadBasicDto[]
  isLoading    : boolean;
  error        : any;
}
export interface ILeadsState {
  leadsListPage    : ILeadsPageState
}
//--------------------------------------------------------------------------------------
// State Initialization
//--------------------------------------------------------------------------------------
export const InitialLeadsState: ILeadsState = {
  leadsListPage    : {
    leadsList : [],
    isLoading : true,
    error     : null
  }
};

And my reducer is:

const leadsReducer = createReducer(
  InitialLeadsState,
  on(actions.loadLeads, (state) => **({ ...state, XXXXXXXXX  }))**, 
);

How I can modify the isLoading property on the action loadLeads, I don't find any way.

Upvotes: 0

Views: 562

Answers (1)

timdeschryver
timdeschryver

Reputation: 15515

on(actions.loadLeads, (state) => 
  ({  leadsListPage  : { ...state.leadsListPage,  isLoading: false }    })), 

Or just use ngrx-immer

immerOn(actions.loadLeads, (state) => {
  state.leadsListPage.isLoading = false
}

Upvotes: 1

Related Questions