【发布时间】:2020-05-31 09:15:48
【问题描述】:
我正在尝试创建一个自定义数组,但 for 循环无法评估 events[genre][0].name,因为由于 firebase 的异步性质,尚未设置事件。有没有办法只在设置数据后才执行 for 循环或任何解决方法?
const Finalized = (props) => {
const [events, setEvents] = React.useState([]);
const testEvents = ["arts", "leisure", "sports"];
React.useEffect(() => {
firebase
.database()
.ref("events")
.once("value")
.then((snapshot) => {
setEvents(snapshot.val());
});
});
let dataJson = {};
for (i = 0; i < testEvents.length; i++) {
let genre = testEvents[i];
dataJson.time = "09:00";
dataJson.title = "Event" + i;
dataJson.description = <Text>{events[genre][0].name} </Text>; //cannot be evaluated as undefined
}
console.log(dataJson);
【问题讨论】:
标签: reactjs firebase react-native firebase-realtime-database