Подставки mapToState недоступны в componentDidMount при принудительной перезагрузке или приземлении на страницу с помощью Firestore Redux - PullRequest
0 голосов
/ 16 января 2020

Это был удивительный курс, я многому научился, но я борюсь с одной вещью, я попытаюсь объяснить это, надеюсь, кто-то может помочь мне, потому что это вызывает у меня много проблем.

Когда Я использую «connect» и пытаюсь вызвать данные из firestore в Redux в componentDidMount. Я не могу получить доступ к реквизитам, которые будут доступны в mapToState в componentDidMount, чтобы выполнить некоторые другие вызовы или действия. это происходит, когда страница перезагружается или впервые попадает на эту страницу с URL. Я знаю, что в тот момент, когда я вызываю реквизиты из-за редукса, он все еще не заполняется данными и становится неопределенным.

Позвольте мне сделать пример

const mapState = (state, ownProps) => {

  return {

    event: state.firestore.ordered.events
    eventHost: state.firestore.ordered.eventHost,

  };

};

async componentDidMount() {

    const { firestore, match, event } = this.props;


    await firestore.setListener(`events/${match.params.id}`);



    await firestore.get({
      collection: "users",
      doc: event.hostedUid,
      storeAs: "eventHost"
    });


    this.setState({
      loading: false
    });
  }

в этом Например, я получаю событие с идентификатором, установленным в Params, чтобы эти данные были доступны в «mapToState» как событие «this.props.event». затем, после вызова этого события, я хочу получить hostedUid из этого события, чтобы получить информацию об этом хосте и сохранить ее как «eventHost», но проблема заключается в том, что на этой странице принудительное изменение ссылки sh или посадка на эту страницу с URL Событие hostedUid, которое будет доступно немного в реквизитах, становится «неопределенным», поэтому при загрузке страницы я не могу получить данные узла событий из базы данных пользователей.

Как мне сделать это, чтобы получить это правильно ? я должен использовать другие жизненные циклы, такие как componentDidUpdate или componentWillReceiveProps? и если да, то как мне это сделать, чтобы эти жизненные циклы вызывались много раз и вызывали ошибки.

Спасибо, ребята

Bardi

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