Limit Firebase повторяет с React Hooks - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть база данных Firebase Realtime, и я хочу отобразить записи, отобразив список.

Пока у меня есть:

useEffect(() => {
        dbRefObject.on('value', snap => getRecords(snap.val()))
      }, [dbRefObject, records])

И в других местах у меня есть:

export const dbRefObject = firebase.database().ref().child('record');

Моя функция getRecords ():

const getRecords = (snap) => {
        let _recordsMap= []
        for (let record in snap) {
            _recordsMap.push({[record] : snap[record]})
        }

Мне нужно какое-то поведение, например, функция unsubscribe (), возвращаемая useEffect, но я не могу заставить это работать?

useEffect(() => {
        const unsubscribe = () => {dbRefObject.on('value', snap => getRecords(snap.val()))}
        return () => {
            unsubscribe()
        }
      }, [dbRefObject, records])

1 Ответ

1 голос
/ 13 апреля 2020

вам нужно вызвать dbRefObject.off ("value", originalCallback);

check https://firebase.google.com/docs/database/admin/retrieve-data#section -detaching-callbacks

...