我最近开始在 React Native 中使用 Hooks,我正在尝试从 Firebase 实时数据库中获取数据并将其呈现在 FlatList 中。数据以对象格式显示在控制台上,但它不起作用,它没有在屏幕上呈现。我究竟做错了什么?我如何使它正常工作?
我的代码:
import React, { useState, useEffect } from "react";
import { StyleSheet, View, Text, FlatList } from 'react-native';
import firebase from '@firebase/app';
import '@firebase/database';
export default function QuestList({ navigation }) {
const title = navigation.getParam('title');
const [data, setData] = useState([]);
useEffect(() => {
const db = firebase.database();
db.ref('/questionnaires/')
.on('value', snapshot => {
console.log(snapshot.val());
const data = snapshot.val();
});
}, []);
return (<FlatList
data={data}
renderItem={
({ item, index }) => (<View>
<Text index={index}>{item.title}</Text>
</View>)
}
keyExtractor={item=>item.id}
numColumns={2}
showsVerticalScrollIndicator={false}
/>
);
}