如何解决比较更新 redux 状态之前和之后的值
我正在侦听 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 对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。