React-Native + Firebase: как обрабатывать обновления в реальном времени - PullRequest
0 голосов
/ 27 апреля 2020

Я использую реагировать нативный + firebase. Мне нужно обновлять мой список документов каждый раз, когда появляется новый do c. поэтому я нашел информацию об «обновлениях в реальном времени» и использовании «onSnapshot»:

let items = [];

firebase.firestore().collection("docs").onSnapshot(function(results) {

            results.forEach((doc) => {
                const item = doc.data()
                if (item) {
                    items.push(item);
                }
              });


    }, function(error) {
       console.log(error)
    })

Если я верну значение, onSnapshot запустится только тогда, когда идея состоит в том, чтобы держать его в курсе изменений, как мне реализовать это

1 Ответ

2 голосов
/ 28 апреля 2020

Я понимаю, что вы используете пакет React Native Firebase (https://rnfirebase.io/)

Вы правы, есть функция, которая прослушивает изменения в базе данных в режиме реального времени ( например, количество лайков на пост).

Проверьте документы здесь: Изменения в реальном времени Firestore

Это предлагаемый код в документах для прослушивания изменений этого типа:

function User({ userId }) {
  useEffect(() => {
    const subscriber = firestore()
      .collection('Users')
      .doc(userId)
      .onSnapshot(documentSnapshot => {
        console.log('User data: ', documentSnapshot.data());
      });

    // Stop listening for updates when no longer required
    return () => subscriber();
  }, [userId]);
}

По моему опыту с React Native Firebase, изменения в реальном времени работают довольно хорошо. Убедитесь, что ваш код соответствует описанию в официальных документах, и вы будете рады go.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...