Перенаправление на html-страницу, если маршрут не указан

Я хочу иметь перенаправление для каждой ссылки, которая не указана в конфигурации моего приложения для реагирования. Небольшая разница с другим учебником заключается в том, что я хочу перенаправить на html-страницу, которая присутствует в моей общей папке, а не на компонент реакции.

Что-то вроде этого:

<Switch>
    <Route exact path="/" component={component}/>
    <Redirect  to="/404.html"/>
</Switch>

но это создает бесконечный цикл, если я ввожу что-то еще, кроме mysite/ и mysite/404.html. Если я наберу mysite/aaaaaaaaaaaaaaaaaa

он возвращает следующую ошибку: превышена максимальная глубина обновления

Любая идея, почему это происходит и как я могу это решить?


person J. Lev    schedule 29.07.2019    source источник


Ответы (2)


Вы не можете просто указать внешнюю ссылку с помощью React Router. Библиотека по умолчанию использует маршрутную навигацию в вашем приложении.

Это ваш ответ:

Внешняя ссылка React-Router

person Craig Gehring    schedule 29.07.2019

Вы должны использовать маршрут без указания пути следующим образом:

<Route component={NotFound} />

и создайте компонент NotFound, который отображает сообщение не найдено или перенаправляет на внешнюю страницу, если вы предпочитаете

person Emanuele Scarabattoli    schedule 29.07.2019