Как исправить подколлекции, не обновляющиеся на странице после обновления в firestore - PullRequest
0 голосов
/ 29 мая 2019

Проблема :

Я обновляю вложенную коллекцию в моей базе данных 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, но не обновляет данные на странице просмотра списка до страницыобновить

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