Доступ к избыточному состоянию в ComponentDidMount - PullRequest
0 голосов
/ 19 сентября 2019

У меня возникла проблема с Redux и React

Я использую избыточное действие для извлечения данных из API.Когда компонент монтируется, это действие запускается и заполняет состояние Redux.Я хочу, чтобы второе действие запускалось с параметрами (article) из состояния избыточности.

Моя проблема в том, что при запуске второго действия состояние избыточности все еще пустое, поэтому article равно нулю, что приводит к ошибке.

componentDidMount() {

  const { targetArticle, userVisit, match, article } = this.props

  targetArticle(match.params.slug); 

  userVisit(match.params.slug, article.title);

}

Я уже проверил другие темы на эту тему, например эта , но ни одна из них не работает для меня.Как мне этого добиться?

Спасибо

1 Ответ

2 голосов
/ 19 сентября 2019

Возможно, вам придется использовать componentDidUpdate метод жизненного цикла.Таким образом, учитывая, что userVisit зависит от результата targetArticle и предполагается, что вы ищете this.props.для обновленного состояния Redux что-то вроде этого должно привести вас туда:

componentDidUpdate(prevProps) {
  if(prevProps.article !== this.props.article) {
    // Now you have access to targetArticle's result and updated Redux state
    userVisit(match.params.slug, this.props.article.title)
  }
}

Подробнее в документации: https://reactjs.org/docs/react-component.html#componentdidupdate

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