【发布时间】:2020-11-10 03:57:47
【问题描述】:
下面是我做过的事情
useEffect(() => {
database()
.ref(`/User/`)
.on('value', function(snapshot) {
const list = [];
snapshot.val(doc => {
const { name, email} = snapshot.val();
list.push({
id: doc.id,
name,
email,
});
});
setUsers(list);
setLoading(false);
console.log('User data: ', snapshot.val());
});
}, [userId]);
它在控制台上显示来自数据库的信息,但它不显示在应用程序上,为 firebase firestore 执行此操作可以正常工作,但不会将任何信息加载到应用程序页面
以下是我如何使用 flatlist 和 list.item 标签在应用程序中显示数据库中的数据
<FlatList
data={users}
ItemSeparatorComponent={() => <Divider />}
keyExtractor={item => item.id}
renderItem={({ item }) => (
<TouchableOpacity
onPress={() => navigation.navigate('Room', { thread: item })}
>
<List.Item
title={item.name}
description={item.email}
titleNumberOfLines={1}
titleStyle={styles.listTitle}
descriptionStyle={styles.listDescription}
descriptionNumberOfLines={1}
/>
</TouchableOpacity>
)}
/>
我正在使用最新版本的 react-native 和 firebase
【问题讨论】:
标签: javascript react-native firebase-realtime-database react-native-flatlist react-native-firebase