Я пытаюсь обезопасить свой маршрут.Вот что я сделал
import React from 'react';
import { Route, withRouter } from 'react-router-dom';
import { isUserAuthenticated } from '../authentication';
function SecuredRoute(props) {
const { component: Component, path } = props;
return (
<Route path={path} render={() => {
if (isUserAuthenticated()) {
return <Component />
}
else{
props.history.push('/login');
return <div></div>
}
}} />
);
}
export default withRouter(SecuredRoute);
Если пользователь не прошел проверку подлинности, он перенаправит на страницу / login, но я вижу предупреждение в консоли, Warning: Cannot update during an existing state transition (such as within
render ).
Методы рендеринга должны быть чистой функциейреквизит и состояние.