Добавление / удаление документов во вложенной коллекции не обновляет состояние правильно - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь добавить документы, которые находятся во вложенной коллекции.Документы правильно добавлены в консоль Firebase, но состояние моего пожарного хранилища не обновляется правильно.Все идентификаторы документа становятся неопределенными, КРОМЕ первого после проверки firestore.ordered.Но если я усиленно обновлю браузер, все они получат свои идентификаторы ..

Вот как я отправляю действие:

export const addActionCard = () => {
  return (dispatch, getState, { getFirestore }) => {
    // make async call to database
    const firestore = getFirestore();

 firestore.collection('retros').doc('oiWiKlsrI7Q2LqNXVaSA').collection('cardsAction').add({
      authId: '1337',
      content: 'this is a action card'
    }).then(() => {
      dispatch({ type: 'CREATE_CARD_SUCCESS' });
    }).catch(err => {
      dispatch({ type: 'CREATE_CARD_ERROR' }, err);
    });
  }
};

И вот как я получаю данные с помощью firestoreConnect:

const mapStateToProps = (state, ownProps) => {
  console.log(state);
  return {
    retro: state.firestore.ordered.retros,
    cards: state.firestore.ordered.actionz
  } 
}

export default compose(
  firestoreConnect((props) => [
    { collection: 'retros', doc: props.match.params.retroId },
    { collection: 'retros', doc: props.match.params.retroId, subcollections: [{ collection: 'cardsAction', }],
    storeAs: 'actionz' },
  ]),
  connect(mapStateToProps, mapDispatchToProps)
)(RetroDetails)

Вот как это выглядит, когда я консоль.log состояние пожарного хранилища:

state of my firestore

Я предоставил демо-версию проблемы с помощью codeandbox.Шаги для воспроизведения на этом URL: https://wz6j0lj54k.codesandbox.io/retro/oiWiKlsrI7Q2LqNXVaSA

Исходные файлы: https://codesandbox.io/s/wz6j0lj54k

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