Я использую метод firebase.onDisconnect () для удаления присутствия пользователей, но он не запускается после того, как они выходят из системы / завершают соединение. В componentDidMount я вызываю мой слушатель, который записывает идентификатор пользователя в узел присутствия. У меня есть настройка, что onDisconnect, он должен удалить узел. Но он не работает.
После выхода из системы / закрытия окна в Firebase узел присутствия остается с идентификатором пользователя, показывающим значение true. Это должно было быть удалено.
Я просмотрел чужой код, и он, кажется, настроен правильно ... Я не вижу, что мне не хватает.
это в состоянии:
state ={
presenceRef: firebase.database().ref('presence')
}
componentDidMount() {
if(this.state.user) {
this.addListeners(this.state.user.uid);
}
}
addListeners = currentUserUID => {
if(snap.val() ===true) {
const ref = this.state.presenceRef.child(currentUserUID);
ref.set(true);
ref.onDisconnect().remove(err => {
if(err !== null) {
console.log(err);
}
})
}
})
}
Я выхожу, в консоли нет ошибок, однако узел никогда не удаляется из присутствия