Как я понимаю, при запросе с проверкой аутентификации в протект роутере, мы должны проверить, авторизован ли пользователь. Если пользователь не авторизован, мы должны удалить запись о пользователе из хранилища redux и перенаправить на другую страницу. Я не знаю, как должен выглядеть ответ при запросах, поэтому я возвращаю null, если статус ответа 401. Насколько правильным является такой подход или лучше передать объект данных и статус в ответе, а затем обработать их в протект роутере?
Подход с возвращением null при статусе ответа 401 вполне допустим, но есть и другие варианты.
1. Вернуть компонент `<Redirect>` из `react-router`, который автоматически перенаправит пользователя на другую страницу:
```jsx
import { Redirect } from 'react-router-dom';
...
if (userIsNotAuthorized) {
return <Redirect to='/login' />;
}
...
```
2. Вернуть компонент, который отрисует информацию об отсутствии авторизации и предложит пользователю выполнить действия для входа:
```jsx
import { Link } from 'react-router-dom';
...
if (userIsNotAuthorized) {
return (
<div>
<p>Для просмотра данной страницы необходимо войти в систему.</p>
<Link to='/login'>Войти</Link>
</div>
);
}
...
```
Оба подхода имеют преимущества и недостатки, выбор конкретного решения зависит от требований и дизайна вашего приложения.