LocalStorage очищается после обновления страницы

Работаю с LocalStorage впервые и если использовать обычный метод localStorage.setItem, то все работает. Однако нужно подключить функию с другого файла. И вроде оно создается, однако после обновления страницы стирается. Подскажите, как это исправить?

Мой файл, где используется функция

import { useState, useCallback, useEffect } from "react"
import LocalStorage from "./localStorage"
 
export const useAuth = () => {
    const [token, setToken] = useState(null)
    const [userId, setUserId] = useState(null)
    const [ready, setReady] = useState(false)
 
    const login = useCallback( (jwtToken, id)=>{
        setToken(jwtToken)
        setUserId(id) 
 
        LocalStorage.setItem('Person', {token: jwtToken, userId: id})
    }, [])
 
    const logout = useCallback( ()=>{
        setToken(null)
        setUserId(null) 
 
        LocalStorage.removeItem('Person')
    }, [])
 
    useEffect( () =>{
        try {
            const data = JSON.parse(LocalStorage.getItem('Person'))
            if (data && data.token) {
                login(data.token, data.userId)
            }
            setReady(true)
        } catch (error) {}
        
    }, [login])
 
    return {login, logout, token, userId, ready}
}

Файл с функцией

let isLocalStorageSupported = typeof localStorage === 'object';
 
try {
  localStorage.setItem("Person", 'test');
  localStorage.removeItem("Person");
} catch (e) {
  isLocalStorageSupported = false;
  
  if (e.code === DOMException.QUOTA_EXCEEDED_ERR && localStorage.length === 0) {} 
  else {throw e;}
}
 
const LocalStorage = {
  getItem: (key) => {
    if (isLocalStorageSupported) {
      return JSON.parse(localStorage.getItem(key));
    }
    return null;
  },
 
  setItem: (key, value) => {
    if (isLocalStorageSupported) {
      localStorage.setItem(key, value);
    }
  },
 
  removeItem: (key) => {
    if (isLocalStorageSupported) {
      localStorage.removeItem(key);
    }
  },
};
 
 
export default LocalStorage;

Ответы (0 шт):