Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
275 views
in Technique[技术] by (71.8m points)

angular - 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.

question from:https://stackoverflow.com/questions/65910498/how-to-update-an-objects-property-from-another-object-ngrx

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
on(actions.loadLeads, (state) => 
  ({  leadsListPage  : { ...state.leadsListPage,  isLoading: false }    })), 

Or just use ngrx-immer

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...