UNPKG

create-nova-expo-template

Version:

A template for creating a new React Native app using Expo and TypeScript, with a focus on performance and best practices.

30 lines (26 loc) 937 B
import { useEffect } from "react"; import { useDispatch } from "react-redux"; import AsyncStorage from "@react-native-async-storage/async-storage"; import { login, setUserInfo } from "@/redux/authReducer"; export default function useCheckAuthTokenExistance() { const dispatch = useDispatch(); const rememberMeCheck = async () => { const userToken = await AsyncStorage.getItem("token"); const userInfo = await AsyncStorage.getItem("userInfo"); const user = userInfo ? JSON.parse(userInfo) : null; const rememberMe = await AsyncStorage.getItem("remember_me"); if (rememberMe) { if (userToken && user) { dispatch(setUserInfo(user)); dispatch(login(userToken)); } } else if (!rememberMe && userToken && user) { dispatch(setUserInfo(user)); dispatch(login(userToken)); AsyncStorage.clear(); } }; useEffect(() => { rememberMeCheck(); }, [dispatch]); }