Я конвертирую приложение (ранее в jQuery / HTML / CSS) в React. Приложение имеет много модулей, и каждый модуль имеет много подмодулей. Я постепенно пытаюсь обновить каждый подмодуль до React. Проблема в том, что боковая панель не в React.
Есть два подмодуля, которые я преобразовал в React. Проблема в том, что, когда кто-то нажимает на ссылку на боковой панели, вся страница перезагружается и ресурсы собираются снова.
Если кто-то открыл какую-либо одну из двух страниц, которые я преобразовал в React, а затем попытается перейти на другую страницу (также написанную в React), он не должен перезагрузиться для нее. Это должно работать так, как будто они используют компонент Link
для перемещения.
Я собирался имитировать эту функцию, используя API истории HTML5. Использование history.pushState
действительно изменило URL, но response-router не отображает соответствующий компонент на этом URL.
Я знаю, что есть обходной путь с HashRouter
, но вместо этого я хочу использовать BrowserRouter
.
Для обеих страниц я отрисовываю один и тот же шаблон из бэкэнда, а логика маршрутизации делегирована для реагирующего маршрутизатора.
Для начала я создал демо codesandbox . Пожалуйста, настройте его и попытайтесь заставить его работать при нажатии на (без Link
) URL, так как компонент Link
ведет себя в реагирующем маршрутизаторе.