AutorÃa | Ultima modificación | Ver Log |
import { useState, useCallback } from 'react'const useLocalStorage = ({ stateName, initialValue }) => {const name = `persist/${stateName}`const getFromStorage = (name, defaultValue) => {try {const val = JSON.parse(localStorage.getItem(name) + '')if (val !== null) {return val} else {localStorage.setItem(name, JSON.stringify(defaultValue))}} catch {return defaultValue}}const [state, setState] = useState(getFromStorage(name, initialValue))const setValue = useCallback((value) => {localStorage.setItem(name, JSON.stringify(value))setState(value)},[name])return [state, setValue]}export default useLocalStorage