“Use el gancho de reacción de LocalStorageStorage” Código de respuesta

Use el gancho de la correa local

import { useCallback, useEffect, useState } from "react";

export const useLocalStorage = (key, initialValue) => {
  const initialize = (key) => {
    try {
      const item = localStorage.getItem(key);
      if (item && item !== "undefined") {
        return JSON.parse(item);
      }

      localStorage.setItem(key, JSON.stringify(initialValue));
      return initialValue;
    } catch {
      return initialValue;
    }
  };

  const [state, setState] = useState(null); // problem is here

  // solution is here....
  useEffect(()=>{
    setState(initialize(key));
  },[]);

  const setValue = useCallback(
    (value) => {
      try {
        const valueToStore = value instanceof Function ? value(storedValue) : value;
        setState(valueToStore);
        localStorage.setItem(key, JSON.stringify(valueToStore));
      } catch (error) {
        console.log(error);
      }
    },
    [key, setState]
  );

  const remove = useCallback(() => {
    try {
      localStorage.removeItem(key);
    } catch {
      console.log(error);
    }
  }, [key]);

  return [state, setValue, remove];
};
Encouraging Echidna

Use el gancho de reacción de LocalStorageStorage

  const [name, setName] = useLocalStorage("name", "Bob");
Busy Bee

Respuestas similares a “Use el gancho de reacción de LocalStorageStorage”

Preguntas similares a “Use el gancho de reacción de LocalStorageStorage”

Más respuestas relacionadas con “Use el gancho de reacción de LocalStorageStorage” en JavaScript

Explore las respuestas de código populares por idioma

Explorar otros lenguajes de código