Как остановить множественный обратный вызов событий Firebase (значение, снимок) - PullRequest
0 голосов
/ 07 марта 2019

Я новичок в Firebase. Я хочу получать данные в реальном времени, когда пользователь нажимает любую кнопку. Когда я нажимаю на другой узел, я также получаю данные предыдущего узла. Я не знаю, где использовать ref.off ('value', listener). пожалуйста, помогите мне. Любая помощь будет оценена

export const fetchCurrentCircleLocation = pushKey => { возврат асинхронной отправки => {

let ref = firebase.database (). Ref (Circles/${pushKey}/members);

let listener = await ref.on("value", snapshot => {
  // console.log("circleLocation", snapshot.val());
  dispatch({
    type: FETCH_CURRENT_GROUP_CIRCLE_LOCATION,
    payload: snapshot.val()
  });
});

}; };

1 Ответ

0 голосов
/ 07 марта 2019

Попробуйте использовать один раз.Он будет проходить через элементы вашей базы данных только один раз.Вам не нужно удалять слушателя.

ref.once("value", function (snapshot) {
        snapshot.forEach((child) => {
            console.log(child.val())

        });
    });
...