Частный компонент маршрута воспроизводит бесконечный цикл - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь реализовать приватный маршрут в машинописном реагировании, но он продолжает цикл. Что я делаю неправильно.

interface IComponentProps {
  [x: string]: any;
}

interface IContainerProps {
  isLoading?: boolean;
  userInfo?: any;
  getUserInfo?: () => void;
}

interface IState {
  [x: string]: any;
}

type IProps = IComponentProps & IContainerProps;

class PrivateRoute extends Component<IProps, IState> {
  state: IState = {};

  constructor(props: IProps) {
    super(props);
  }
  async componentDidMount() {
    this.props.getUserInfo();
  }
  render() {
    const { component, userInfo, ...rest } = this.props;
    const routeComponent = (props: any) => (
      userInfo.userId !== undefined
        ? React.createElement(component, props)
        : <Redirect to={{ pathname: '/login' }}/>
    );
    console.log('user info data... ', userInfo);
    return <Route {...rest} render={routeComponent}/>;
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(PrivateRoute);

Я не уверен, что может быть проблема здесь. Он продолжает перенаправлять на страницу входа, даже если вход выполнен успешно.

...