Обновление страницы при перенаправлении маршрута с аутентификацией по токену на страницу 404 в ReactJavascript

Форум по Javascript
Ответить
Anonymous
 Обновление страницы при перенаправлении маршрута с аутентификацией по токену на страницу 404 в React

Сообщение Anonymous »

У меня есть простое приложение, в котором есть страница входа в систему, и после отправки формы оно отправляет запрос на серверную часть, которая возвращает токен при успешной аутентификации, который затем перенаправляется на внутреннюю страницу панели управления. Существует также еще одна страница, называемая настройками, и еще одна страница NotFound (404).
После входа в систему, когда я нахожусь на странице панели управления или странице настроек, если я обновлюсь, мне потребуется на страницу 404, тогда как она должна оставаться на той странице, на которой я нахожусь. Кто-нибудь знает, в чем может быть проблема?
Вот код:
App.js

const App = () => {
const [isAuthenticated, setIsAuthenticated] = useState(false);

const handleLogin = (token) => {
localStorage.setItem('token', token);

setIsAuthenticated(true);
};

useEffect(() => {
const token = localStorage.getItem('token');

setIsAuthenticated(!!token);
}, []);

return (

{
isAuthenticated ? (





) : (




)
}

);
}

Login.js

const Login = ({ onLogin }) => {
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');
const navigate = useNavigate();

const handleSubmit = async (e) => {
e.preventDefault();

const response = await fetch('/api/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ username, password }),
});

if (response.ok) {
const result = await response.json();

if (result.success) {
localStorage.setItem('token', result.token);

onLogin(result.token);
navigate('/dashboard');
}
}
};

return (


LOGIN


setUsername(e.target.value)}
required
/>

setPassword(e.target.value)}
required
/>


Login




);
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... e-in-react
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»