---
title: 使用 useDeferredValue 处理昂贵的派生渲染
impact: MEDIUM
impactDescription: 在繁重计算期间保持输入响应
tags: rerender, useDeferredValue, optimization, concurrent
---
## 使用 useDeferredValue 处理昂贵的派生渲染
当用户输入触发昂贵的计算或渲染时,使用 `useDeferredValue` 来保持输入响应。被延后的值会滞后,让 React 优先处理输入更新,并在空闲时再渲染昂贵的结果。
**错误做法(过滤时输入感觉卡顿):**
```tsx
function Search({ items }: { items: Item[] }) {
const [query, setQuery] = useState('')
const filtered = items.filter(item => fuzzyMatch(item, query))
return (
<>
setQuery(e.target.value)} />