responsejs - Обработка пользовательских страниц 404 - PullRequest
1 голос
/ 18 марта 2019

Я пытаюсь создать маршрут, который будет перехватывать все недействительные URL-адреса, а затем отображать мою пользовательскую страницу 404 без использования макета администратора. Моя проблема в том, что моя страница 404 всегда отображает макет администратора (даже если пользователь не вошел в систему). У меня есть эти маршруты в моем rout.js :

export default [
 <Switch>
   <Route exact path="/password-reset" component={ResetPassword} noLayout />,
   <Route exact path="*" component={NotFound} noLayout/>
 </Switch>
];

Я добавил этот бит в компонент Admin в моем App.js :

const App = () => (

<Admin
    catchAll=         {NotFound}
    customRoute=      {routes}
>
</Admin>
);

Есть идеи, как обработать страницу 404, чтобы она перехватила все недействительные URL-адреса и не отобразила макет администратора?

Заранее спасибо.

1 Ответ

1 голос
/ 18 марта 2019

Для реакции-маршрутизатора <4.0 </p>

Если вы хотите отобразить страницу ошибки, а не изменить путь

<Route path='*' exact={true} component={errorcomponent} />

Если вы хотите отобразить страницу ошибки и изменить путь

<Route path='/error' component={errorcomponent} />
 // use redirect to  change the Url
<Redirect from='*' to='/error' />

Для реакции-маршрутизатора 4

Сохранить путь

<Switch>
    <Route exact path="/" component={component} />
    <Route component={errorcomponent} />
 </Switch>

изменить URL.

 <Switch>
    <Route path="/comp" component={component} />
   <Redirect to="/error" />
 </Switch>

тег перенаправления должен быть поставленГде бы вы ни поместили метку маршрута и переключатель.

...