@elo-dev

Как сделать добавление и удаление из бд firebase по нажатию одной кнопки?

Сейчас у меня при нажатии удаляется и сразу же добавляется новый id в бд, как реализовать правильно ?

Вот сам handler:

const handleFavourite = async () => {
    setIsFavourite(!isFavourite)

    const snapshot = await get(child(ref(db), `user/${userAuth.uid}/favourite`))

    if (!snapshot.exists()) {
      addFavourite()
    } else {
      snapshot.forEach((item) => {
        if (item.val().id !== id) {
          addFavourite()
        } else {
          removeFavourite(item.key)
        }
      })
    }
  }


Это функция добавления:
const addFavourite = () => {
    const postListRef = ref(db, `user/${userAuth.uid}/favourite`)

    const newPostRef = push(postListRef)
    set(newPostRef, {
      id,
    })
  }


И удаления:
const removeFavourite = async (key) => {
    await remove(ref(db, `user/${userAuth.uid}/favourite/${key}`))
  }
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
Geminix
@Geminix
Фуллстек nuxt, .net разработчик
И снова вопрос к циклу. Как он отработает, если в snapshot 4 записи. Будет удалена 1 и добавлено 3?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы