比较更新 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 对象。
我正在监听 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 对象。