У меня есть приложение React, где стартовая страница должна быть статической html-страницей, созданной арт-командой. Проблема в том, что я не могу заставить маршрутизатор перенаправить с "/" на статическую страницу.
<Redirect from = "/" to = "/welcome/index.html" />
потому что он пропускает все через индексную страницу React (из-за логики одностраничного приложения). Я пытался сделать компонент с кодом статической страницы, но постоянно получаю много ошибок, которые я не знаю, как исправить, так как статическая страница содержит много тегов <svg>
, с которыми я не знаком (я не мог сам создать функциональность этой статической страницы). Есть ли способ сделать перенаправление в обход одностраничной логики React?
Или даже используйте ссылки старой школы в ваших компонентах JSX, например <a href = "http://example.com/mystaticpage.html">click here</a>
. Вы можете полностью отделить статическую страницу от проекта React.
Мне не нужно попасть туда по ссылке. Мне нужно сделать так, чтобы когда пользователь набирает адрес mysite.com/, он сразу перенаправлялся на mysite.com/welcome/index.html
Возьмите значение из пользовательского ввода. Затем используйте window.location.href
@HimuraDaBattosuai Я думаю, он имел в виду «набрано в адресной строке браузера», а не в самом приложении.
@MyrtoPirli отвечает ли эта ссылка на ваш вопрос? stackoverflow.com/questions/50792942/…
Нашел решение. Сделано перенаправление «/» на компонент под названием «Добро пожаловать»:
<Redirect from = "/" to = "/Welcome" />
и внутри компонента приветствия я помещаю
export default function Welcome(){
window.location.href = '/welcome/index.html';
return(
<>
</>
)
}
react-router
управляет только страницами, которые приложение React отображает внутри. Если вам нужно перенаправить на внешний URL-адрес, используйте для этого Javascript, например. что-то вродеwindow.location.href = "...."
.