[英]How to Fetch Data from Firebase Realtime Database in React Native App
[英]How to delete a single entry from my Realtime Firebase database in React Native?
我不太確定如何刪除實時數據庫中的單個條目,每次運行以下命令時,它都會刪除該數據庫中的所有內容:
const deleteTask = () => {
console.log('will delete: ', id);
remove(ref(db, '/todos', id))
}
我確實有 id(可以通過 console.log 看到),它與我的 firebase 在 web 控制台上顯示的內容相匹配。 但是為什么“刪除”會刪除整個數據庫呢?
讓我感到奇怪的是,這段代碼成功地更新了單個數據庫條目的“完成”狀態:
const onCheck = (isChecked) => {
setDone(isChecked);
update(ref(db, '/todos'), {
[id]: {
title,
done: !doneState,
},
});
console.log('set done/undone')
};
我查看了官方實時數據庫,但這並不能幫助我找出問題所在。 stackoverflow 上的其他解決方案也是如此,但其中大多數都有獲取 id 的問題,這是我已經擁有的。
非常感謝任何幫助/提示::)
ref
function僅采用單個路徑參數:
簽名:
export declare function ref(db: Database, path?: string): DatabaseReference;
因此,您指定為第二個參數的 ID 未被使用,因此您確實刪除了所有todos
。
解決方案是調用child
:
remove(child(ref(db, '/todos'), id))
或者將整個路徑作為一個字符串傳遞:
remove(ref(db, '/todos/'+id))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.