Firebase 9 и useEffect
Как мне сделать так что бы при изменении данных в базе данных на firestore срабатывал useEffect без постоянного цикла enter image description here
С 22 по 26 строку получаю данные с firestore и записываю их в useState на 27 Но когда с помощью input а добавляю новые значения в базу useEffect не срабатывает
Ответы (1 шт):
Вы неправильно используете условное срабатывание.
Ваша переменная datee никак не меняется, она всегда равна db (судя по всему, это объект firebase), хуку нет причин выполняться.
Как мне сделать так что бы при изменении данных в базе данных на firestore срабатывал useEffect без постоянного цикла enter image description here
Вам нужно в useEffect подписаться на изменения, в firebase/firestore, для получения обновлений в реальном времени, есть необходимый метод onSnapshot. Используйте в связке с useEffect
useEffect(()=>{
const unsub = onSnapshot(
doc(db, "cities", "SF"),
(doc) => {
// что-то сделать, подробности смотрите в документации firebase
});
return ()=>unsub()
}, [])
