Когда запрос /auth/profile возвращает 403 (неаутентифицированный пользователь), приложение показывает пустой экран вместо отображения домашней страницы. Я хочу, чтобы домашний маршрут загружался нормально, даже если пользователь не вошел в систему, и перенаправлялся только на /login при доступе к защищенным страницам.
Вот моя текущая реализация AuthProvider:
Код: Выделить всё
const AuthContext = createContext(null);
export const AuthProvider = ({ children }: { children: React.ReactNode }) => {
const userQuery = useSuspenseQuery(fetchUserInfoOptions);
if (userQuery.isLoading) {
return Context Loading...;
}
if (userQuery.isError) {
console.log("Context Error:", userQuery.error.message);
}
const isAuthenticated =
userQuery.data.data && !userQuery.isError ? true : false;
const user = userQuery.data ? userQuery.data.data : null;
return (
{children}
);
};
Что я хочу:
Мой вопрос:
Как правильно настроить защищенные маршруты с помощью TanStack Router + TanStack Query, чтобы:
- Неудачный запрос аутентификации (403) выполнялся не приостанавливать все приложение
- Перенаправление выполняют только защищенные маршруты
- Общедоступные маршруты по-прежнему загружаются для неаутентифицированных пользователей
Любые рекомендуемые примеры или шаблоны были бы полезны!
Подробнее здесь: https://stackoverflow.com/questions/798 ... ck-query-w
Мобильная версия