Next.js Discord

Discord Forum

useLocalStorage custom hook show errors in my console

Answered
Ashy Storm-Petrel posted this in #help-forum
Open in Discord
Ashy Storm-PetrelOP
import { useState } from "react"

export const useLocalStorage = (key, initialValue) => {
  const [storedValue, setStoredValue] = useState(() => {
    try {
      const item = window.localStorage.getItem(key)
      return item ? JSON.parse(item) : initialValue
    } catch (err) {
      console.error(err)
      return initialValue
    }
  })

  const setValue = (value) => {
    try {
      const valueToStore =
        value instanceof Function ? value(storedValue) : value
      setStoredValue(valueToStore)
      window?.localStorage.setItem(key, JSON.stringify(valueToStore))
    } catch (err) {
      console.error(err.message)
    }
  }
  return [storedValue, setValue]
}

it keep saying window is not defined even tho i use it on client components
Answered by Ashy Storm-Petrel
fixed i used packaged called react-use
https://github.com/streamich/react-use
View full answer

3 Replies