Это был удивительный курс, я многому научился, но я борюсь с одной вещью, я попытаюсь объяснить это, надеюсь, кто-то может помочь мне, потому что это вызывает у меня много проблем.
Когда Я использую «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