Я пытаюсь реализовать приватный маршрут в машинописном реагировании, но он продолжает цикл. Что я делаю неправильно.
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);
Я не уверен, что может быть проблема здесь. Он продолжает перенаправлять на страницу входа, даже если вход выполнен успешно.