Использование реквизита React.js в 'compose' Redux - PullRequest
0 голосов
/ 04 февраля 2019

Я использую реагирование-редукса-firebase и firestoreConnect, чтобы получить информацию из моей базы данных и отобразить ее в подпорки с их готовым редуктором.Чтобы связать его информацию с моим Компонентом, я использую метод «compose» следующим образом:

export default compose(
   connect(mapStateToProps, mapDispatchToProps),
   firestoreConnect([
      {
         collection: 'questions',
         doc: this.props.match.params.id,
         subcollection: 'messages',
      }
   ])
)(QuestionDetail);

Как видите, я пытаюсь получить доступ к конкретному документу с идентификатором, который был передан вкомпонент в качестве опоры от своего родителя.Однако «this» не определено в контексте «compose», и поэтому я не могу использовать его для доступа к реквизитам и моему параметру.

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

1 Ответ

0 голосов
/ 04 февраля 2019

После более глубокого поиска в документации я обнаружил, что вы можете передавать реквизиты в функцию firestoreConnect (обратите внимание также, что я неправильно запрашивал подколлекции).Код заканчивается:

export default compose(
   connect(mapStateToProps, mapDispatchToProps),
   firestoreConnect((props) => [
      {
         collection: 'questions',
         doc: props.match.params.id,
         subcollections: [{ collection: 'messages' }],
      }
   ])
)(QuestionDetail);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...