Сделайте что-нибудь до и после изменения маршрута с помощью response-router-dom v5 - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь создать специальный переход между страницами, я уже пробовал с react-transition-group, но он не делает то, что мне нужно.

Это текущий подход, который я использую с помощью jQuery:

Current approach

Это решение использует JS для проверки, когда нажата ссылка без класса «no-loader», и, если по этой ссылке нет этого класса, он предотвращает поведение тега a по умолчанию, применяет класс in к элементу loader и затем использует window.location.href для перенаправления.

//jQuery
$("a:not('.no-loader')").click(function (event) {
    event.preventDefault();
    $("a").removeClass("active");
    $(this).addClass("active");
    var link_href = $(this).attr("href");

    if (link_href == "#") {
      return;
    }

    if (link_href !== window.location.href && link_href+"/" !== window.location.href) {
      $loader.addClass("in").promise().done(function () {
        setTimeout(function () {
          window.location.href = link_href;
        }, 1050);
      });
    }
  });

Теперь, когда я использую -and React, я не могу найти способ создать переход перед монтированием и после монтирования (просто примените класс CSS) к элементу «загрузчик» HTML, но представьте любую другую вещь внутри функции JS ), используя BrowserRouter и Routes.

Есть ли способ получить функции обратного вызова на RRD или я должен использовать для этого другой пакет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...