【发布时间】:2021-05-20 15:47:35
【问题描述】:
我收到以下错误:
对象作为 React 子级无效(找到:[object Promise])。如果您打算渲染一组子项,请改用数组。
我在 react 中使用上下文并且遇到了道具问题,因为我在内部组件中有 forEach 循环以从数据库中获取数据。
我不知道如何在这里使用数组来渲染集合。
这里是获取发生错误的数据的代码:
import React, { useEffect, useState } from "react";
import { db } from "../services/firebase";
import style from "./css/dashboard.module.css";
import InputTask from "./InputTask";
import Task from "./Task";
const Tasks = ({ user }) => {
console.log("Tasks");
return (
<>
<div className={style.card}>
<InputTask user={user} />
</div>
{true
? db
.collection("Users")
.doc(`${user.email}`)
.collection("tasks")
.get()
.then((querySnapshot) => {
querySnapshot.forEach((doc) => {
console.log(doc.id, " => ", doc.data());
return (
<div className={style.card}>
<Task todo={doc} />
</div>
);
});
})
: null}
</>
);
};
export default Tasks;
附加错误快照here
【问题讨论】:
-
看起来您可能需要在
.forEach()中添加退货。querySnapshot.forEach((doc) => { console.log(doc.id, " => ", doc.data()); return ( <div className={style.card}> <Task todo={doc} /> </div> ); }); -
现在请再看看我的错在哪里
-
@souravojha 请看看我在下面的回答,如果你能以这种方式解决问题,请告诉我
标签: javascript reactjs firebase firebase-authentication use-context