我有一个 redux-react 应用程序,在启动时监听加载所有 contactList,并监听每个添加的新联系人列表。下面的代码会导致在启动时调用 receiveContactList
和 receiveContact
。如何在启动时调用前者,然后在添加新联系人时调用后者?
contactsRef.once('value', function(snapshot) {
store.dispatch(receiveContactList(snapshot.val()))
})
contactsRef.on('child_added', function(snapshot) {
store.dispatch(receiveContact(snapshot.val()))
})
最佳答案
分开处理初始数据和新数据的常见方法是使用 bool 值来跟踪状态:
var isInitialDataLoaded = false;
contactsRef.once('value', function(snapshot) {
store.dispatch(receiveContactList(snapshot.val()))
isInitialDataLoaded = true;
})
contactsRef.on('child_added', function(snapshot) {
if (isInitialDataLoaded) {
store.dispatch(receiveContact(snapshot.val()))
}
})
这会起作用,因为初始数据的 child_added
事件保证在相应的 value
事件之前触发。
关于javascript - Firebase 启动从数据库加载与读取新添加内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40101948/