feat: add initilized to auth component

This commit is contained in:
zerosoul
2022-06-06 18:06:31 +08:00
parent 1fe1057163
commit a5de1066ab
3 changed files with 39 additions and 7 deletions
+10 -6
View File
@@ -1,9 +1,13 @@
// import React from 'react'
import { Navigate } from 'react-router-dom';
import { Navigate } from "react-router-dom";
import { useSelector } from "react-redux";
import { useGetInitializedQuery } from "../../app/services/auth";
import { useSelector } from 'react-redux';
export default function RequireAuth({ children, redirectTo = '/login' }) {
const { token } = useSelector((store) => store.authData);
return token ? children : <Navigate to={redirectTo} replace />;
export default function RequireAuth({ children, redirectTo = "/login" }) {
const { isLoading } = useGetInitializedQuery();
const { token, initialized } = useSelector((store) => store.authData);
if (isLoading) return null;
// 未初始化 则先走setup 流程
if (!initialized) return <Navigate to={`/onboarding`} replace />;
return token ? children : <Navigate to={redirectTo} replace />;
}