Reactjs 屏幕上不显示使用挂钩在React Native中从Firebase实时数据库获取的数据
我最近开始在React Native中使用钩子,我正在尝试从Firebase实时数据库获取数据,并将其呈现在FlatList中。数据以对象格式显示在控制台上,但它不工作,不能在屏幕上呈现。我做错了什么?如何使其正常工作 我的代码:Reactjs 屏幕上不显示使用挂钩在React Native中从Firebase实时数据库获取的数据,reactjs,firebase,firebase-realtime-database,react-hooks,Reactjs,Firebase,Firebase Realtime Database,React Hooks,我最近开始在React Native中使用钩子,我正在尝试从Firebase实时数据库获取数据,并将其呈现在FlatList中。数据以对象格式显示在控制台上,但它不工作,不能在屏幕上呈现。我做错了什么?如何使其正常工作 我的代码: import React, { useState, useEffect } from "react"; import { StyleSheet, View, Text, FlatList } from 'react-native'; import
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}
/>
);
}
import React,{useState,useffect}来自“React”;
从“react native”导入{样式表、视图、文本、平面列表};
从“@firebase/app”导入firebase;
导入'@firebase/database';
导出默认函数QuestList({navigation}){
const title=navigation.getParam('title');
const[data,setData]=useState([]);
useffect(()=>{
const db=firebase.database();
db.ref(“/问卷/”)
.on('value',快照=>{
console.log(snapshot.val());
const data=snapshot.val();
});
}, []);
报税表((
{item.title}
)
}
keyExtractor={item=>item.id}
numColumns={2}
showsVerticalScrollIndicator={false}
/>
);
}
您的useffect
useEffect(() => {
const db = firebase.database();
db.ref('/questionnaires/')
.on('value', snapshot => {
const response = snapshot.val();
setData(response);
});
}, []);
如果没有async,仍然无法工作它只在控制台上打印数据,但我无法在屏幕上显示它