Я пытаюсь добавить документы, которые находятся во вложенной коллекции.Документы правильно добавлены в консоль 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 состояние пожарного хранилища:
Я предоставил демо-версию проблемы с помощью codeandbox.Шаги для воспроизведения на этом URL: https://wz6j0lj54k.codesandbox.io/retro/oiWiKlsrI7Q2LqNXVaSA
Исходные файлы: https://codesandbox.io/s/wz6j0lj54k