В моем приложении я использую connected-react-router
следующим образом:
render() {
// .... some code
return
<ConnectedRouter history={history}>
<Switch>
<Route
path="/sample/route"
component={SampleComponent}
/>
<Route
path="/another/sample/route"
component={AnotherSampleComponent}
/>
<Route
component={NotFoundComponent}
/>
</Switch>
</ConnectedRouter>
Это прекрасно работает для рендеринга компонента NotFound
для любых маршрутов, которые не существуют.
Однако, когда пользователь пытается получить доступ к /sample/route
в своем браузере, сервер моего приложения выполняет некоторые проверки подлинности, чтобы проверить, авторизован ли пользователь для доступа к этому маршруту.
Если нет, сервер возвращает 403
следующим образом:
ctx.status=403
ctx.body="Unauthorised"
return ctx
Я хотел бы перехватить этот код ответа 403
и отобразить компонент, который я определил в моем клиенте Код React, похожий на NotFoundComponent
. В данный момент пользователь видит белую страницу с Unauthorised
, написанной на ней. Есть ли способ, которым я могу сделать это? Я хотел бы избежать копирования компонента на мой сервер и возврата его оттуда.