我正在使用NgRx和Firestore,并且试图找到一种方法来使本地存储与Firestore集合保持同步。我有一个可观察的设置,该设置会在更新Firestore集合时触发,但是在我的reducer中,我不确定如何使用NgRx Entity适配器用新数据替换存储中的内容。我已经尝试过addMany和upsertMany,但是如果在用户刷新之前将其删除,他们将不会删除该项目。
我的loadUsers成功动作的Reducer看起来像这样
on(fromBatch.loadBatchesSuccess, (state: any, action: any) => ({...userAdapter.upsertMany(action.users, state), loaded: true, loading: false}))
答案 0 :(得分:1)
事实证明,它一直在我面前。 userAdapter.addAll()将用数据库中的数组替换当前状态。