簡體   English   中英

如何使用ngrx-entity更新實體的子集?

[英]How to update a subset of entities with ngrx-entity?

我正在使用HTTP Patch請求更新一組實體到遠程后端。 來自后端的響應僅包括更新的實體(即,不是所有實體)。

我使用實體狀態適配器設置我的reducer並使用updateMany更新我的實體:

case settings.SettingsActionTypes.UpdateSettingsSuccess: {
   return {
     ...state,
     ...adapter.updateMany(action.payload.map((category) => Object.assign({}, {id: category.name, changes: category})), state),
     loaded: true,
     loading: false,
   }
 }

雖然這會更新接收更新的實體,但它會刪除后端未返回的所有其他實體。

有沒有辦法告訴ngrx只更新action.payload中包含的實體?

你不應該傳播這么多次。

更新許多將狀態作為參數,你可以在那里使用你的傳播福。

return adapter.updateMany( 
   action.payload.map((category) => Object.assign({}, {id: category.name, changes: category})), 
   { ...state, loaded: true, loading: false }
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM