Итак, у меня есть сайт с разделом friends list
.
Компонент выполняет всю работу, связанную с отображением каждого друга, добавлением новых друзей и т. Д.
Я использую firebase в качестве базы данных, и когда новый пользователь добавляет другого в качестве своего друга, я хочу что-то сделать. Это делается путем получения нового запроса на добавление в друзья в БД.
Друг запрашивает объект в dB
выглядит примерно так:
9vOBzwFnMPQOwubtBivM4sPRItH2{
friendRequests{
8lSEE4m6zJP75GQLzslMnjHjtlu2: 'test'
}
.
.
.
}
Это то, что я использую для прослушивания:
database.ref(`/users/${userId}/friendRequests`).limitToLast(1).on('child_added', function (snapshot) {
//some code
}
Проблема в том, что эта функция срабатывает, даже когда мой компонент монтируется. Я не хочу этого, только когда что-то новое добавлено в раздел friendRequests
.
Я включил его в ловушку useEffect, которая срабатывает только при монтировании, но я пробовал просто поместить его в тело компонента (так, чтобы оно не было в какой-либо функции), но он по-прежнему срабатывает.
Почему это происходит и как я могу решить эту проблему?