У меня есть простое приложение, в котором есть страница входа в систему, и после отправки формы оно отправляет запрос на серверную часть, которая возвращает токен при успешной аутентификации, который затем перенаправляется на внутреннюю страницу панели управления. Существует также еще одна страница, называемая настройками, и еще одна страница 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
Обновление страницы при перенаправлении маршрута с аутентификацией по токену на страницу 404 в React ⇐ Javascript
Форум по Javascript
1736069142
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
);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79330476/page-refresh-on-token-authenticated-route-redirects-to-404-page-in-react[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия