Согласно этой статье, довольно легко создать страницу 404: https://ultimatecourses.com/blog/react-router-not-found-component
Однако в моей среде это не работает. Ниже переходит к "/", если указан неверный маршрут?
const Main = () => ( <div> <main> <Switch> <Route path="/page2" component={Page2} /> <AzureAD provider={authProvider} forceLogin={true}> <Route path="/page1/:token?" component={Page1} /> <Route path="/tokenfail" component={TokenFailPage} /> <Route path="/complete" component={CompletedPage} /> <Route path="/" component={Home} /> </AzureAD> <Route component={Page2} /> </Switch> </main> </div> );
Итак, я думаю, что этот маршрут:
<Route path="/" component={Home} />
получает 404.
Попробуйте с точным:
<Route exact path="/" component={Home} />
Думаю, вам нужно объединить Альфонсо Тиенду и Антонио Эрделья c ответы опубликованы,
Сохраните exact для Home и добавьте подстановочный знак (*) для путей 404 (не забудьте оставить маршрут wildcard последним)
exact
Home
404
wildcard
... <Route exact path="/" component={Home} /> ... <Route path="*" exact component={My404Component} />
Попробуйте установить <Route path="*" exact component={NotFoundComponent} /> для обработки не найденных маршрутов.
<Route path="*" exact component={NotFoundComponent} />