Javascript Firebase数据库ref on首次未更新
我正在用react native和firebase构建一个聊天应用程序。 当用户登录时,以前的消息必须在第一次启动时加载,但它提供了空数组以保证在第一次连接时,它会显示。。。 我正在使用零食,我必须更改代码以查看聊天记录(以便更新设备)。 如何在首次启动时加载 编辑: 火基结构Javascript Firebase数据库ref on首次未更新,javascript,firebase,react-native,firebase-realtime-database,expo,Javascript,Firebase,React Native,Firebase Realtime Database,Expo,我正在用react native和firebase构建一个聊天应用程序。 当用户登录时,以前的消息必须在第一次启动时加载,但它提供了空数组以保证在第一次连接时,它会显示。。。 我正在使用零食,我必须更改代码以查看聊天记录(以便更新设备)。 如何在首次启动时加载 编辑: 火基结构 userName: -rooms: -otherUser: -messages -name 代码: 而这正发生在我身上: const loadRequiredMaterials = async
userName:
-rooms:
-otherUser:
-messages
-name
代码:
而这正发生在我身上:
const loadRequiredMaterials = async () => {
return new Promise(async (resolve, reject) => {
//var loadedRooms = [...rooms]
var loadedRooms = []
await on(oldRooms => {
loadedRooms = [oldRooms, ...loadedRooms]
});
await resolve([loadedRooms]);
})
}
if (firebase.auth().currentUser) {
console.log(firebase.auth().currentUser)
loadRequiredMaterials()
.then((result)=> {
console.log(result)
setRooms(result[0]);
})
}
请至少向我们提供部分代码和firebase数据结构。我已经更新了@ArtemArkhipov的代码
const loadRequiredMaterials = async () => {
return new Promise(async (resolve, reject) => {
//var loadedRooms = [...rooms]
var loadedRooms = []
await on(oldRooms => {
loadedRooms = [oldRooms, ...loadedRooms]
});
await resolve([loadedRooms]);
})
}
if (firebase.auth().currentUser) {
console.log(firebase.auth().currentUser)
loadRequiredMaterials()
.then((result)=> {
console.log(result)
setRooms(result[0]);
})
}