reactjs:TypeError:无法读取未定义的属性'from'

时间:2018-05-04 07:37:13

标签: reactjs react-redux

当用户尝试重定向到我发送的私有路由时: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:无法从未定义的

中读取属性

1 个答案:

答案 0 :(得分:2)

this.props.location.state仅在从Redirect挂载组件时才存在,因此您需要在访问它之前先检查它是否存在:

if (this.props.location.state && !this.props.location.state.from.pathname) {