我正在使用Firebase和Node与Redux.我从一个键加载所有对象,如下所示.
firebaseDb.child('invites').on('child_added',snapshot => {
})
这种方法背后的想法是,我们从数据库获取有效载荷,只能使用一个操作通过减速器更新我的本地数据存储.
接下来,我需要听任何新的或更新的孩子的密钥邀请.
然而,现在的问题是,child_added事件触发所有现有的密钥以及新添加的密钥.我不想要这个行为,我只需要新的键,因为我有现有的数据检索.
我知道child_added通常用于这种类型的操作,但是,我希望减少触发的动作数量,并因此触发.
实现这一目标的最佳方式是什么?
谢谢,
解决方法
我使用以下方法解决了问题.
firebaseDb.child('invites').limitToLast(1).on('child_added',cb)
firebaseDb.child('invites').on('child_changed',cb)
limitToLast(1)获取最后一个邀请对象,然后监听任何新对象,将快照对象传递给cb回调.
child_changed监听任何子更新的邀请,将快照传递给cb