如何使用ngrx实体将本地存储与Firestore同步?

时间:2019-10-19 14:39:40

标签: angular google-cloud-firestore ngrx ngrx-entity

我正在使用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}))

1 个答案:

答案 0 :(得分:1)

事实证明,它一直在我面前。 userAdapter.addAll()将用数据库中的数组替换当前状态。