比较更新 redux state 前后的值

Compare values before and after updating redux state

我正在监听 Firebase 节点.....然后当 FBS 发生变化时,我将快照与 Redux 中的当前内容进行比较。疯狂的是 Redux 状态甚至在我发送之前就已经反映了 FBS 中的更新值(来自快照)

const listenToFbsMyUserNode = (dispatch) => {
  database()
    .ref('profiles/users/')
    .on('value', snapshot => {
      let state = store.getState(); //at this point Redux somehow already knows about the updated value before Ive dispatched!!!
      //now can dispatch
      dispatch(_refreshMyProfile(snapshot.val()));
    });
};  

这意味着您可能正在将 Firebase 对象复制到您的商店中。 由于 Firebase 并非一成不变地工作,因此 Firebase 会修改这些对象——本质上也是通过调度修改您的商店,因为您的商店现在包含对这些对象的引用。这样的事情当然不应该发生——在发送对象之前将对象转换为平面数据,而不是直接发送 Firebase 对象。