Проблема :
Я обновляю вложенную коллекцию в моей базе данных firestore, но после обновления данные на моей странице не обновляют ее.но обновляет его после обновления.
Я не знаю, что попробовать в этот момент, так как когда я обновлял коллекции (когда мои данные были в коллекциях), он обновлялся без обновления страницы, но послеперемещение моих данных во вспомогательную коллекцию У меня возникают проблемы, когда данные не обновляются на странице, пока я не обновлю страницу.
У меня есть представление списка, в котором у меня есть список документов, и я перехожу к деталямпросмотреть документ и обновить имя документа, и он четко обновляется в базе данных пожарного депо.Но когда я возвращаюсь к списку, отображается старое имя документа.Но после обновления страницы я получаю новые данные.Я использую React, Redux и FireStore для моего приложения.когда я обновляю базу данных firestore, я передаю действие в redux и возвращаю состояние, но кажется, что оно не обновляется, пока я не обновлю страницу.и проблема, похоже, возникла после перемещения моих данных во вложенную коллекцию
DetailFileView.js
код для вызова функции обновления
const mapStateToProps = (state, ownProps) => {
return {
users: state.firestore.ordered.users
}
}
const mapDispatchToProps = (dispatch) => {
return {
UserDataUpdateFileName: (Filename, Id email) => { dispatch(UserDataUpdateFileName (Filename,Id, email)) },
}
}
export default compose(
connect(mapStateToProps, mapDispatchToProps),
firestoreConnect(( props,state) => {
return [
{collection: 'users',
doc:'id',
subcollections: [
{ collection: 'sessions', doc:props.match.params.post_id, storeAs: 'sessions'}
]
}
]
}) )(DetailFileView)
FileList.js
const mapStateToProps = (state) => {
return {
users: state.firestore.ordered.users
}
}
export default compose(
connect(mapStateToProps),
firestoreConnect(props =>{
return [
{collection: 'users',
doc:'id',
subcollections: [
{ collection: 'sessions',orderBy: ['date', 'desc'],storeAs: 'sessions' }
]
}
]}
)(FileList)
RootReducer.js
const userDataReducer = (state = initState, action) => {
switch (action.type) {
case 'UPDATE_FILENAME_DOCUMENTS_ERROR':
console.log('%c update user data filename in documents error',"color:red");
return state;
case 'UPDATE_FILENAME_SESSIONS_SUCCESS':
console.log('%c updated user data filename in sessions success',"color:green");
return state;
default:
return state;
}
}
export default userDataReducer
Ожидаемый результат: Подколлекция обновлена вfirestore (который работает), а затем обновляется на странице просмотра списка (без обновления).
Фактический вывод: Подколлекция обновляется в firestore, но не обновляет данные на странице просмотра списка до страницыобновить