React useDeferredValue Hook Cheat Sheet
What is `useDeferredValue`?
A React Hook that defers updating a value until the browser is less busy — great for keeping UIs responsive during expensive renders.
import { useDeferredValue } from "react";
Use Case
Use it when you want to:
- Keep input snappy while rendering slow content
- Avoid blocking UI with heavy computations or long lists
Basic Syntax
const deferredValue = useDeferredValue(value);
Example: Deferring a Filter
const [query, setQuery] = useState("");
const deferredQuery = useDeferredValue(query);
const results = useMemo(() => {
return items.filter(item => item.includes(deferredQuery));
}, [deferredQuery]);
return (
<>
<input value={query} onChange={e => setQuery(e.target.value)} />
<List items={results} />
</>
);
query
updates immediatelydeferredQuery
lags slightly to avoid blocking render