State'i localStorage'da otomatik serileştirme ile kalıcı hale getiren özel bir hook.
import { useState, useEffect } from class=class="text-emerald-400">"text-emerald-400">'react'
function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T) => void] {
const [storedValue, setStoredValue] = useState<T>(() => {
try {
const item = window.localStorage.getItem(key)
return item ? JSON.parse(item) : initialValue
} catch {
return initialValue
}
})
useEffect(() => {
try {
window.localStorage.setItem(key, JSON.stringify(storedValue))
} catch {
console.error(class=class="text-emerald-400">"text-emerald-400">'Failed to save to localStorage')
}
}, [key, storedValue])
return [storedValue, setStoredValue]
}
export default useLocalStorageuseState gibi içe aktarın ve kullanın: const [name, setName] = useLocalStorage('user-name', 'Guest'). Değer sayfa yenilemelerinde otomatik olarak kalıcı olur.
Fikrinizi nasıl hayata geçirebileceğimizi konuşalım. İlk konseptten üretime hazır ürüne kadar — yanınızdayız.