Возможно, вы попытаетесь использовать agent-router-dom и вместо этого href = / a попробуйте использовать Link to = / Link
редактировать
Я обнаружил, что если я перейду непосредственно к странице за пределами Реагирования, я могу просмотреть правильную страницу. Но, как только я войду в приложение React, я не могу перейти от него.
Вещи, которые я пробовал,
window.locastion
Я попробовал несколько вариантов window.location.Пример -
<a class="btn btn-lg btn-primary btn-block" onClick={() => window.location.replace('https://www.example.com/help.html')}>
Get Started Now!
</a>
redirect newfile.php https://example.com/newfile.php
<a href="https://example.com/newfile.php">Click</a>
Задний план
Я интегрирую приложение React в существующий сайт PHP. На веб-сайте есть 4 модуля, и я хочу заменить открытый модуль на приложение React. Я создал <a href>
теги для ссылки на один и тот же домен, но за пределами веб-страниц React других трех модулей в приложении.
проблема
После загрузки приложения React при первом нажатии <a>
тегов они открывают правильную страницу. В большинстве случаев <a>
тег связывается с правильным URL-адресом, но приложение остается внутри приложения React и не выходит за пределы React, но внутри той же самой веб-страницы домена.
пример
Основной URL-адрес веб-сайта https://www.example.com/ // React Application href tag нажал https://www.example.com/other/webpage // Должен быть сайт PHP
Второй сценарий в приведенном выше примере почти всегда показывает приложение React без какого-либо контента. Просто верхний и нижний колонтитулы.
У меня есть несколько ссылок через веб-сайт, и все они ведут себя одинаково.
Пример кода
Это должно загрузить веб-страницу PHP за пределами Реагента, но вместо этого загружает приложение React,
<li role="presentation" class="">
<a href="https://www.example.com/some/page" role="button">
Login / Register
</a>
</li>
Вопрос
Каков правильный способ обеспечить, чтобы мои пользователи увидели правильные страницы, когда они нажимают <a href>
теги?
Для всех, кто имеет дело с этой проблемой, проблема была проблемой кэширования после загрузки приложения Rect. Прямой проблемой и решением было
registerServiceWorker();
Чтобы решить эту проблему и снова получить ссылки на работу, мне просто пришлось прокомментировать рабочий службы реестра.
// registerServiceWorker();
Я не обнаружил, почему это вызывает такое поведение, но пока оно исправляет проблему. Я не уверен, насколько мне комфортно с этим, и мне интересно, это ошибка. Я совершенно удивлен, что это не появилось в прошлом, так как нет никакой информации об этом.