Путь не найден, перенаправление по умолчанию на root. Как проложить 404 маршрута - PullRequest
0 голосов
/ 04 августа 2020

Согласно этой статье, довольно легко создать страницу 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>
);

Ответы [ 3 ]

0 голосов
/ 04 августа 2020

Итак, я думаю, что этот маршрут:

          <Route path="/" component={Home} />

получает 404.

Попробуйте с точным:

          <Route exact path="/" component={Home} />
0 голосов
/ 04 августа 2020

Думаю, вам нужно объединить Альфонсо Тиенду и Антонио Эрделья c ответы опубликованы,

Сохраните exact для Home и добавьте подстановочный знак (*) для путей 404 (не забудьте оставить маршрут wildcard последним)

...
<Route exact path="/" component={Home} />
...

<Route path="*" exact component={My404Component} />
0 голосов
/ 04 августа 2020

Попробуйте установить <Route path="*" exact component={NotFoundComponent} /> для обработки не найденных маршрутов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...