Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
|
xuk_usenavigate [2024/04/04 17:01] tro создано |
xuk_usenavigate [2024/04/30 18:40] (текущий) tro |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Хук useNavigate ====== | ====== Хук useNavigate ====== | ||
| React Router дозволяє виконати навігацію не тільки при натисканні на Link, але й щодо певної дії користувача, | React Router дозволяє виконати навігацію не тільки при натисканні на Link, але й щодо певної дії користувача, | ||
| + | |||
| + | < | ||
| + | import { useNavigate } from " | ||
| + | |||
| + | export const Login = () => { | ||
| + | const navigate = useNavigate(); | ||
| + | |||
| + | const handleSubmit = async values => { | ||
| + | const response = await FakeAPI.login(values); | ||
| + | if (response.success) { | ||
| + | navigate("/ | ||
| + | } | ||
| + | }; | ||
| + | |||
| + | return ( | ||
| + | <div> | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | ); | ||
| + | }; | ||
| + | |||
| + | </ | ||
| + | Другий спосіб це компонент Navigate - обгортка над хуком useNavigate. Він виконує навігацію у момент рендеру. Шлях для навігації та необов' | ||
| + | < | ||
| + | import { Navigate, useState } from " | ||
| + | |||
| + | export const Login = () => { | ||
| + | const [isLoginSuccess, | ||
| + | |||
| + | const handleSubmit = async values => { | ||
| + | const response = await FakeAPI.login(values); | ||
| + | setIsLoginSuccess(response.success); | ||
| + | }; | ||
| + | |||
| + | if (isLoginSuccess) { | ||
| + | return < | ||
| + | } | ||
| + | |||
| + | return ( | ||
| + | <div> | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | ); | ||
| + | }; | ||
| + | |||
| + | </ | ||
| + | **replace** - використовується для того щоб в історії навігатора не було можливості повернутися на попередню сторінку | ||