Как заставить firestoreConnect указывать на вложенную коллекцию в React-Redux-Firebase? - PullRequest
0 голосов
/ 29 декабря 2018

Следующая строка направляет firestoreConnect к моей коллекции, помеченной projects.

 { collection: 'projects' }

. Это работает, когда коллекция проектов находится сразу под корнем, как это:

root/
  projects/

Но что, если на коллекцию проектов ссылается документ, который сам находится в другой коллекции, скажем, так:

root/
  users/
    alice/
      projects/

Как мне указать firestoreConnect на коллекцию projects?

В документации ничего не сказано по этому вопросу.

Ссылка на видео
import React, { Component } from 'react'
import ProjectList from '../projects/ProjectList'
import Notifications from './Notifications'
import { connect } from 'react-redux'
import { firestoreConnect } from 'react-redux-firebase'
import { compose } from 'redux'
import { Redirect } from 'react-router-dom'

class Dashboard extends Component {...}

const mapStateToProps = (state) => {
  // console.log(state);
  return {
    projects: state.firestore.ordered.projects,
    auth: state.firebase.auth,
  }
}

export default compose(
  connect(mapStateToProps),
  firestoreConnect([
    { collection: 'projects' }, // <-- Question is about this line
  ])
)(Dashboard)

Редактировать: неудачная попытка

Из того, что яМожно собрать воедино из комментариев здесь кажется, что ответ может быть:

firestoreConnect([
  { 
    collection : 'users',
    doc        : 'alice',
    collection : 'projects',
  }
])

Но эта попытка не удалась.

1 Ответ

0 голосов
/ 29 декабря 2018

Это можно сделать, передав несколько параметров коллекции / документа параметру subcollections следующим образом:

firestoreConnect(() => [
  {
    collection: 'states',
    doc: 'CA',
    subcollections: [
      { collection: 'cities', doc: 'SF' },
      { collection: 'zips' }
    ]
  }
])

Это указано в разделе firestoreConnect в документах реагировать на избыточную пожарную базу (так как это специфический для реакции HOC).Опции, которые можно передать запросам , документированы в README файла redux-firestore .

Если вы выполняете вложенные подколлекции, вы, вероятно, захотите использовать версии v1.*.*, так как подколлекциихранятся вдоль боковых коллекций верхнего уровня в избыточном состоянии.Обратите внимание, что новая версия имеет другой API, как описано в дорожной карте v1.0.0 .

Раскрытие информации: я являюсь автором redux-firestore

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