Как удалить необработанный URL-адрес пути из ReactJS

#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 для маршрута / .