#reactjs #react-router-dom
Вопрос:
Отказ от ответственности: Я почти уверен, что это дубликат, потому что никто об этом не спрашивал, но я не знаю, искал ли я неправильные термины или что-то в этом роде, но я не смог найти ответа, поэтому я спрошу здесь.
Я использую маршрутизаторы React ( react-router-dom
), поэтому, например, если я установлю:
<Route path='/home' component={Home} />
На данный момент, очевидно, что если я зайду на localhost:3000/home
него, то загрузится моя домашняя страница, верно?
Но если я перейду localhost:3000/fjnisodjuhfosij
(просто случайный текст), он все равно загрузит пустую страницу, в ней не будет написано что-то вроде «эта страница не существует» или просто перенаправление на главную страницу.
Как я могу с этим справиться? Спасибо
Ответ №1:
Просто добавьте Route
с помощью пути ‘*’:
<Route path='*' component={YourComponent} />
Ответ №2:
Чтобы направить к дому: Добавьте это в качестве последнего маршрута в switch: <Route><Redirect to="/home"/></Route>
Или, чтобы отобразить страницу с ошибкой 404: Создайте компонент для страницы с ошибкой ( NotFound
допустим) и добавьте его в качестве последнего маршрута: <Route component={NotFound} />
Комментарии:
1. это работает нормально, но теперь у меня новая проблема, я установил маршрут , на
/
который перенаправляетсяhome
, и маршрут, на который перенаправляетсяnot found
, но теперь каждый неизвестный маршрут просто перенаправляется на дом.2. Не могли бы вы поделиться всей
<Router>
частью? Вы должны использоватьexact
для маршрута/
.