Redux Saga Firebase - Когда использовать firestore.channel () против firestore.syncCollection ()? - PullRequest
0 голосов
/ 29 октября 2019

Я создаю собственное приложение с Redux Saga Firebase и, похоже, не могу понять разницу / когда использовать firestore.channel() против firestore.syncCollection().

Ссылки на документацию:

Что я пытаюсь создать:

Я создаю приложение, в котором пользователи могут видеть сообщения, поэтому у меня есть коллекция сообщений / сообщений в облакеFirestore. Когда пользователь отправляет новое сообщение в эту коллекцию, я хочу, чтобы каждый пользователь в приложении автоматически получал сообщение в фиде своих сообщений.

Мои мысли:

  • Будет ли firestore.channel () лучшим способом решить эту проблему? Будет ли канал автоматически показывать сообщения в каждом фиде сообщений пользователей?
  • Похоже, что будет вызван генератор firestore.syncCollection () для синхронизации коллекции при обновлении сценария.

1 Ответ

0 голосов
/ 29 октября 2019

channel - просто сага более низкого уровня, чем syncCollection. Они оба генерируют данные в одинаковых обстоятельствах, основываясь на аргументе pathOrRef, но при syncCollection отправляется избыточное действие, тогда как channel создает низкоуровневую redux-сагу channel, из которой можно take события изи решите, как вы хотите с ними справиться - это может быть put с использованием избыточных действий или реагированием каким-либо другим способом.

Если вам просто нужно отправить такое же избыточное действие при каждом изменении данных вашего хранилища, используйте syncCollection, если у вас есть более сложная логика или вы хотите ответить чем-то иным, чем действием с избыточностью, используйте channel.

Подробнее о каналах и их использовании вы можете прочитать здесь: https://redux -saga.js.org / документы / расширенный / Channels.html

...