Когда я хочу войти в свое приложение, после ввода правильных данных и нажатия кнопки «Войти», я получаю эту ошибку:
URL-адрес изменяется на «приборную панель», как подсказывает код, но я не вижу содержимого страницы, кроме вышеуказанной ошибки.
В консоли я вижу, что код из компонента Header (который являетсячасть Dashboard) вызывается много раз (что, я полагаю, вызывает проблему):
Если я обновляю страницу, все работает нормально.Кроме того, если я выйду из системы и вернусь на страницу входа, я могу войти без ошибок.Но если я обновляю страницу и пытаюсь войти, я получаю сообщение об ошибке.
Вот код:
Компонент заголовка:
const Header = withRouter(({ history }) => {
const values = useSelector((state) => ({...state.sharedReducer}));
console.log('*** VALUES: ', values);
const dispatch = useDispatch();
const handleMenuClick = () => dispatch(menuClickAction());
const handleLinkClick = () => dispatch(closeMenuAction());
................
Компонент входа:
// Runs only once on init
useEffect(() => {
if(isAuth) {
props.history.push("dashboard"); // Redirect to 'dashboard'
}
});
useEffect(() => {
// Clear the form
dispatch(clearFormDataAction());
}, [dispatch]);
useEffect(() => {
if(!values.emailEmptyError && !values.passwordEmptyError && values.email.length && values.password.length && !values.isFormValid) {
dispatch(enableSubmitButtonAction());
}
}, [values, dispatch]);
const handleSubmitForm = (e) => {
e.preventDefault();
handleLoading(true);
const loginDetails = {
email: values.email,
password: values.password
};
AuthService.login(loginDetails)
.then(response => {
if(response) {
LocalStorageService.setItem('currentUser', response.data.user);
props.history.push("dashboard"); // Redirect to 'dashboard'
}
})
.catch((error) => {
handleSubmitError(i18n.t("ERRORS.LOGIN_WRONG_DETAILS"));
console.log('error: ', error);
});
}
Может кто-нибудь посоветовать, пожалуйста, что не так?Спасибо!