Common Utility Hooks in React
From the React Hooks cheat sheet · Custom Hook Patterns · verified Jul 2026
Common Utility Hooks
Frequently used custom hooks
javascript
// Previous value
function usePrevious(value) {
const ref = useRef(undefined)
useEffect(() => { ref.current = value })
return ref.current
}
// Local storage
function useLocalStorage(key, initial) {
const [value, setValue] = useState(() => {
const saved = localStorage.getItem(key)
return saved ? JSON.parse(saved) : initial
})
useEffect(() => {
localStorage.setItem(key, JSON.stringify(value))
}, [key, value])
return [value, setValue]
}
// Toggle
function useToggle(initial = false) {
const [on, setOn] = useState(initial)
const toggle = () => setOn(!on)
return [on, toggle]
}💡 Extract common logic into custom hooks
✅ Custom hooks can use other hooks
⚡ Share stateful logic, not state itself