[英]reactjs how can i read map in array on firebase
我有一個數組,在一個數組中我有一張地圖。 地圖有 2 個值,標題和內容。
我想讀取數組中的所有值,但它應該像地圖一樣。 我試過這段代碼,但我做不到。 你能幫助我嗎?
{database.collection("notes")
.doc(uid)
.onSnapshot((doc) => {
doc.data().notes.map((value, index) => {
return (
<Note
key={index}
id={index}
title={value.title}
content={value.content}
onDelete={deleteNote}
/>
);
});
})}
您的代碼的問題在於onSnapshot
使用將像 Future 一樣執行的callback
。 這意味着如果您將該代碼放入 react 並在其周圍使用{}
,它將不會返回任何內容。
要使其工作,請使用 state 和useEffect
。 您的代碼可能如下所示:
import React from "react";
import { useEffect } from "../../../github/ecronix/wc-csv-export/node_modules/@types/react";
const YourComponent = () => {
const [list, setList] = useState([]);
useEffect(() => {
database
.collection("notes")
.doc(uid)
.onSnapshot((doc) => {
const tempList = [];
doc.data().notes.map((value, index) => {
tempList.push({ value, index });
});
setList(tempList);
});
});
return (
<div>
{list.map(({ value, index }) => {
return (
<Note
key={index}
id={index}
title={value.title}
content={value.content}
onDelete={deleteNote}
/>
);
})}
</div>
);
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.