【发布时间】:2021-10-10 06:19:33
【问题描述】:
我正在从firebase 获取数据并使用useState 设置数据,但是当我在组件中循环时返回没有查看循环中的任何内容。这是我的代码。
function App() {
const regRef = ref(database, "Tasks/");
const [tasks, setTasks] = useState([{ title: "Task List" }]);
useEffect(() => {
onValue(regRef, (snapshot) => {
snapshot.forEach((childSnapshot) => {
childSnapshot.forEach((task) => {
setTasks((oldTasks) => [...oldTasks, task.val()]);
});
});
});
}, []);
return (
<div className="App">
<div>Rendering data</div>
{tasks.forEach(function (task) {
console.log("rendering value: " + task.title);
return (
<>
<h2>{task.title}</h2>
<h4>{task.description}</h4>
</>
);
})}
</div>
);
}
在这个视图中,只有Rendering data div,但在console log我得到了所有的值
【问题讨论】: