https://cloud.google.com/firestore/docs/query-data/order-limit-data?hl=ko
useFireStore.js
// doc 삭제
const deleteDocument = async (id) => {
dispatch({ type: "IS_PENDING" });
try {
await ref.doc(id).delete();
dispatchIfNotCancelled({ type: "DELETE_DOCUMENT" });
} catch (err) {
dispatchIfNotCancelled({ type: "ERROR", payload: "삭제할 수 없습니다." });
}
};
useEffect(() => {
setIsCancelled(false);
return () => setIsCancelled(true);
}, []);
리듀서 추가
case "DELETE_DOCUMENT":
return { isPending: false, document: null, success: true, errror: null };
TransactionList.jsx
import { useFirestore } from "../../hooks/useFireStore";
import styles from "./Home.module.css";
const TransactionList = ({ transactions }) => {
const { deleteDocument } = useFirestore("transactions"); // 삭제 메서드 가져오기
return (
<div className={styles.transactions}>
{transactions.map((transaction) => (
<li key={transaction.id}>
<p className={styles.name}>{transaction.name}</p>
<p className={styles.amount}>{transaction.amount}원</p>
<button onClick={() => deleteDocument(transaction.id)}>X</button>
</li>
))}
</div>
);
};
export default TransactionList;
설탕 삭제해봤다.
'FRONTEND > React' 카테고리의 다른 글
[마이머니앱] 정렬 추가하기 (0) | 2023.12.05 |
---|---|
[마이머니앱] 보안 (0) | 2023.12.05 |
[마이머니앱] 파이어베이스 거래추가 , 실시간 업데이트, 본인의 거래내역만 보기 (1) | 2023.12.05 |
[마이머니앱] 네비게이션 가드 (0) | 2023.12.04 |
[마이머니앱] 클린업 함수 추가하기/ 로그인 및 로그인 시 유저정보 가져오기 (1) | 2023.12.04 |