import * as React from 'react'; import { useDispatch } from 'react-redux'; import { RematchDispatch, Models } from '@rematch/core'; import { getToken } from '../shared/token'; export default function useCheckToken(...dependencies:any[]):Array { const [appToken, forceNavigationUpdate] = React.useState(`${Date.now()}`); const { user } = useDispatch>(); React.useEffect(() => { async function checkToken(){ try { const tokenFromStorage = await getToken(); if(tokenFromStorage) { user.fetchCurrentUser(); } forceNavigationUpdate(tokenFromStorage); } catch(e) {} } checkToken(); }, [getToken, appToken, forceNavigationUpdate, ...dependencies]); return [appToken, forceNavigationUpdate] }