Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React Router: router

Чем отличается replace от push при использовании useNavigate?

Этот вопрос проверяет понимание разницы между методами replace и push

Короткий ответ

Метод push добавляет новый маршрут в историю браузера, что позволяет вернуться назад. Метод replace заменяет текущий маршрут, не сохраняя его в истории, что предотвращает возврат на предыдущую страницу.

Длинный ответ

Хук useNavigate предоставляет два способа навигации, зависящих от манипуляции с историей браузера:

  • push (по умолчанию):

    • Добавляет новый маршрут в стек истории.

    • Пользователь может вернуться назад, используя кнопку "Назад" в браузере.

    navigate('/dashboard'); // Аналог push
  • replace:

    • Заменяет текущий маршрут.

    • Не добавляет его в стек истории, что исключает возможность возврата.

    navigate('/login', { replace: true });

Когда использовать:

  • push: Для обычной навигации, когда пользователь может захотеть вернуться на предыдущую страницу.

  • replace: Для редиректов, чтобы исключить возможность возврата (например, после логина).

Уровень

  • Рейтинг:

    2

  • Сложность:

    4

Навыки

  • React Router

    React Router

Ключевые слова

#router

Подпишись на React Developer в телеграм