Задать вопрос
@Solevoy_2015

Как закрывать модальное окно действием назад, избегая возвращения по истории?

Знаю что можно создать новую запись в стек истории через window.history.pushState, но хотелось бы обойти этот способ, используя инструменты react. Хук useNavigate ререндерит страницу, этим отменяет анимацию закрытия модального окна. Как быть?
  • Вопрос задан
  • 242 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
scoffs
@scoffs
Fullstack | C# | Student
Открытие окна не производит смены URL, ты остаешься на той же странице, поэтому достаточно странная необходимость делать закрытие модалки при клике на Назад, но это может выглядеть как-то так
import { useHistory } from 'react-router-dom';

function ModalComponent() {
  const history = useHistory();

  const handleCloseModal = () => {
    // Закрытие модального окна и замена текущего пути новым путем (например, '/')
    history.replace('/');
  };

  return (
    <div>
      {/* Ваше содержимое модального окна */}
      <button onClick={handleCloseModal}>Закрыть</button>
    </div>
  );
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
26 дек. 2024, в 16:23
30000 руб./за проект
26 дек. 2024, в 16:23
100000 руб./за проект
26 дек. 2024, в 14:40
15000 руб./за проект