Не удается удалить слушатели в firebase
Внутри компонента добавил три слушателя на изменение данных. В последствии понял, что это не то что мне нужно и попытался их удалить. Сперва просто удалил код, затем пытался сбросить с помощью вызова off(), но это не сработало и обновления из базы данных по прежнему приходят. Как я могу удалить или увидеть все активные слушатели ?
const AppPage = (props) => {
useEffect(() => {
const id = localStorage.getItem('myId');
const ref = firebase.database().ref('users/' + id + '/posts' );
const refreshData = (data) => {
const val = {};
val[data.key] = data.val();
console.log(val);
props.setData(val);
};
//ref.on('child_added', refreshData);
//ref.on('child_changed', refreshData);
//ref.on('child_removed', refreshData);
ref.off()
props.loadData(id);
// eslint-disable-next-line
}, []);
return (
<div className="page">
<Aside />
<Main>
<Switch>
{props.isLoggedIn ? null : <Redirect to={'/auth'} />}
{props.profile.loading ? (
<Loader />
) : (
<Fragment>
<Route path="/" exact render={() => <Profile {...props.profile} />} />
<Route path="/chat" component={Chat} />
<Route path="/social" component={Social} />
</Fragment>
)}
</Switch>
</Main>
</div>
);
};
Код функции, отправляющей данные
export const addPost = (postData) => {
return (dispatch) => {
const id = localStorage.getItem('myId');
firebase
.database()
.ref('users/' + id + '/posts')
.push(postData)
.catch((error) => console.log(error));
};
};