Я хочу изменить это ниже кода Firebase V8 на Firebase V9. Я пытался изменить этот код на v9 несколькими способами, но, к сожалению, все они были неудачными:
Пожалуйста, помогите мне изменить блок кода ниже на код на основе Firebase v9:
useEffect(() => {
 const unsubscribe = db.collection("chats").onSnapshot((snapshot) => {
 setChats(
 snapshot.docs.map((doc)=>({
 id:doc.id,
 data: doc.data(),
 }))
 )
 );
 return unsubscribe;
}, [])
Заранее спасибо:)
Решение проблемы
И collection()— onSnapshot()это функции верхнего уровня в Firebase v9 SDK, которые можно напрямую импортировать из Firestore SDK. Попробуйте выполнить рефакторинг кода, как показано ниже:
import { collection, onSnapshot } from "firebase/firestore";
useEffect(() => {
 const colRef = collection(db, "chats")
 onSnapshot(colRef, (snapshot) => {
 setChats(
 snapshot.docs.map((doc) => ({
 id: doc.id,
 data: doc.data(),
 }))
 )
 });
 return unsubscribe;
}, [])
Также проверьте:
 Firestore: Каков шаблон добавления новых данных в Web v9?
В документации есть примеры кода, написанного как с синтаксисом V8, так и с синтаксисом V9, поэтому вы можете просто переключать вкладки Version 9 (Modular)и сравнивать его с предыдущим Version 8 (namespaced)синтаксисом.
 
 
Комментариев нет:
Отправить комментарий