当用户尝试重定向到我发送的私有路由时: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:无法从未定义的
中读取属性答案 0 :(得分:2)
this.props.location.state
仅在从Redirect
挂载组件时才存在,因此您需要在访问它之前先检查它是否存在:
if (this.props.location.state && !this.props.location.state.from.pathname) {