【发布时间】:2021-11-08 22:29:13
【问题描述】:
我正在尝试从实时数据库 firebase 中检索一些数据并将其显示在屏幕上。我已经实现了一个函数 snapshotToArray 来将 Json 转换为数组。 我有反馈集合,我想检索 JAHC9F.. 的所有子级以显示 if child 的内容(在 new 、task1、task4 和 new 内)
在我的例子中,我只能看到两个孩子的两个对象,但我看不到每个反馈的内容
*user.uid 等于 J4HC9FgMM.. 在这种情况下
componentDidMount=async()=>{
const feedbacks=await firebase.database().ref("Feedback").child(user.uid).once('value');
const feedbackArray=snapshotToArray(feedbacks);
this.props.loadFeedbacks(feedbackArray);
}
renderItemFeedback = (item, index) => {
return (
<View>
<Text>{item.name}</Text>
<View>
<NetworkImage
source={{ uri: item.ImageFeedback }}
/>
</View>
<View>
<Text>{item.countLike}</Text>
</View>
</View>
);
};
render() {
return (
<CustomBackground>
<ScrollView>
<View>
<FlatList
data={this.props.feedbacks.feedbacks}
renderItem={({ item }, index) =>
this.renderItemFeedback(item, index)
}
keyExtractor={(item, index) => index.toString()}
/>
</View>
</ScrollView>
</CustomBackground>
);
}
}
这里是snapshotToArray函数的实现:
export const snapshotToArray= snapshot=>{
let returnArr=[]
snapshot.forEach(childSnapshot => {
let item=childSnapshot.val()
item.key=childSnapshot.key
returnArr.push(item)
});
return returnArr;
}
【问题讨论】:
标签: javascript react-native firebase-realtime-database