reactjs: TypeError: Невозможно прочитать свойство 'from' из неопределенного - PullRequest
0 голосов
/ 04 мая 2018

Когда пользователь пытался перенаправить на частный маршрут, который я отправляю с: props.location, чтобы после входа в систему пользователь перенаправлял обратно по той же ссылке.

Но когда пользователь собирается войти на страницу, он показывает

Частный маршрут

<Redirect to={{ pathname: '/sign-in', state: { from: props.location} }} />

Страница входа в систему:

componentWillReceiveProps(nextProps) {
    if (nextProps.apiData !== this.props.apiData && nextProps.apiData !== false) {
      if(!(this.props.location.state.from.pathname)) {
       this.props.history.push(this.props.location.state.from.pathname)
      }
      else{
        if (this.props.location.length === 0) {
          this.props.history.push("/");
        }
        else{
          this.props.history.goBack();
        }
      }
    }
  }

Это дает мне эту ошибку

TypeError: Невозможно прочитать свойство 'from' из неопределенного

1 Ответ

0 голосов
/ 04 мая 2018

this.props.location.state будет существовать, только если компонент смонтирован из Redirect, поэтому перед тем, как получить к нему доступ, необходимо проверить, существует ли он:

if (this.props.location.state && !this.props.location.state.from.pathname) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...