我正在与react native firebase数据库进行聊天。这是数据库的结构。
我想做的是,当聊天屏幕打开时,它首先从Firebase数据库中获取消息并显示在平面列表中,然后侦听新的传入消息或向消息数据库添加新数据。我尝试了两种方法。
第一个:
firebase.database().ref('messages/'+pairId).on('value',(snapshot)=> {
snapshot.forEach((childSnapshot) =>{
var childKey = childSnapshot.key;
var childData = childSnapshot.val();
console.log("childData",childData)
})
});
第二种方式:
firebase.database().ref('messages/'+pairId).on('child_added', (snapshot)=> {
console.log("PARENT",snapshot.val())
snapshot.forEach((subSnapshot) =>{
// console.log("CHILDADDED",subSnapshot)
})
});
两者都在初始化调用中从数据库中获取消息,但是问题是在控制台消息中,消息是在发送到数据库时复制的,而且在Firebase中也没有在数据库上复制消息的情况。 哪种是实现我想要的正确方法?