Я пытаюсь сделать приложение на реагирующем с помощью канала. На главном экране я иду за данными:
fetchData() {
firebase.database().ref(`/posts/${group}`).on('value', async snapshot => {...}
}
когда я хочу, например, добавить комментарий к посту, я сначала помещаю данные в базу данных с различными запросами, например:
export const likeComment = (...) => {
firebase.database().ref(`/posts/${group}/${post}`).update
({
updatedAt: firebase.database.ServerValue.TIMESTAMP
});
firebase.database().ref(`/posts/${group}/${post}/lastComments`).set(...);
Но я понял, что моя первая функция fetchData была вызвана 3 раза.
затем я сгруппировал свои запросы как:
let updates = {}
updates[`/posts/${group}/${post}/lastComments`] = {...};
updates[`/posts/${group}/${post}`] = { ... };
firebase.database().ref().update(updates);
Затем fetchData вызывался еще 2 раза.
Мне было интересно, был ли это лучший способ сделать это, и почему моя функция fetchData по-прежнему вызывалась дважды.
Спасибо за вашу помощь