Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

ReactJS

Local storage Hook ReactJS

Creating a Hook to manage local storage

import React,{ useEffect, useState } from 'react';

const saveLocalStorage = (key: string, value: any) => {
  localStorage.setItem(key, JSON.stringify(value));
};

const getLocalStorage = function (key: string, initialValue: any): string {
    const currentValue = localStorage.getItem(key);
    if(currentValue){
        const value = JSON.parse(currentValue);
        if (value) return value;
    }
  return initialValue;
};

const useLocalStorage = (key: string, initialValue: any) => {
  const [value, setValue] = useState(() => {
    return getLocalStorage(key, initialValue);
  });

  useEffect(() => {
    saveLocalStorage(key,value)
  },[value])

  return [value, setValue];
};

export default useLocalStorage;