useLocalStorage() — supabase Function Reference
Architecture documentation for the useLocalStorage() function in use-local-storage.tsx from the supabase codebase.
Entity Profile
Dependency Diagram
graph TD ea17971a_1c02_abd3_4eb0_642abdb391f3["useLocalStorage()"] 6dab894a_a956_6f28_44d9_6d3388713095["Command()"] 6dab894a_a956_6f28_44d9_6d3388713095 -->|calls| ea17971a_1c02_abd3_4eb0_642abdb391f3 style ea17971a_1c02_abd3_4eb0_642abdb391f3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/learn/components/use-local-storage.tsx lines 5–47
export function useLocalStorage<T>(key: string, initialValue: T) {
// State to store our value
// Pass initial state function to useState so logic is only executed once
const [storedValue, setStoredValue] = useState<T>(() => {
if (typeof window === 'undefined') {
return initialValue
}
try {
// Get from local storage by key
const item = window.localStorage.getItem(key)
// Parse stored json or if none return initialValue
return item ? JSON.parse(item) : initialValue
} catch (error) {
// If error also return initialValue
console.log(error)
return initialValue
}
})
// Return a wrapped version of useState's setter function that ...
// ... persists the new value to localStorage.
const setValue = useCallback(
(value: T | ((val: T) => T)) => {
try {
// Allow value to be a function so we have same API as useState
const valueToStore = value instanceof Function ? value(storedValue) : value
// Save state
setStoredValue(valueToStore)
// Save to local storage
if (typeof window !== 'undefined') {
window.localStorage.setItem(key, JSON.stringify(valueToStore))
}
} catch (error) {
// A more advanced implementation would handle the error case
console.log(error)
}
},
[key, storedValue]
)
return [storedValue, setValue] as const
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does useLocalStorage() do?
useLocalStorage() is a function in the supabase codebase.
What calls useLocalStorage()?
useLocalStorage() is called by 1 function(s): Command.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free