|
|
@ -1,6 +1,9 @@ |
|
|
|
|
|
|
|
import { useEffect } from 'react'; |
|
|
|
|
|
|
|
import { useDispatch } from 'react-redux'; |
|
|
|
import { Redirect, RouteComponentProps } from 'react-router-dom'; |
|
|
|
import { Redirect, RouteComponentProps } from 'react-router-dom'; |
|
|
|
import { useSelector } from '@store/storeConfig/store'; |
|
|
|
import { useSelector } from '@store/storeConfig/store'; |
|
|
|
import { IRoute } from '../routes/type'; |
|
|
|
import { IRoute } from '../routes/type'; |
|
|
|
|
|
|
|
import * as Actions from '../../modules/account/auth/actions'; |
|
|
|
|
|
|
|
|
|
|
|
interface IFinalRoute extends RouteComponentProps { |
|
|
|
interface IFinalRoute extends RouteComponentProps { |
|
|
|
route: IRoute; |
|
|
|
route: IRoute; |
|
|
@ -8,7 +11,13 @@ interface IFinalRoute extends RouteComponentProps { |
|
|
|
|
|
|
|
|
|
|
|
export default function AuthRoutes(props: IFinalRoute) { |
|
|
|
export default function AuthRoutes(props: IFinalRoute) { |
|
|
|
const { isLogin } = useSelector(state => state.authState); |
|
|
|
const { isLogin } = useSelector(state => state.authState); |
|
|
|
const a = useSelector(state => state); |
|
|
|
const dispatch = useDispatch(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
|
|
|
if (!isLogin) { |
|
|
|
|
|
|
|
dispatch(Actions.check.request()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, [isLogin]); |
|
|
|
|
|
|
|
|
|
|
|
if (isLogin === false && !props.route.meta?.authRoute) { |
|
|
|
if (isLogin === false && !props.route.meta?.authRoute) { |
|
|
|
return <Redirect to='/account/login' />; |
|
|
|
return <Redirect to='/account/login' />; |
|
|
|