generated at
useDeferredValue

UIの一部の更新を遅延させる
stateをwrapして使う




イメージ的には、debounceのようなものかmrsekut
ただし、通常のdebounceは指定した秒数を基準にして更新頻度を制御のに対し、
useDeferredValueは最適なrender回数になるように内部で制御されている
更に異なる点として、
途中でrenderingを放棄できる
データが読み込まれるまでは、以前の値が表示され続ける



ts
function SearchPage() { const [query, setQuery] = useState(''); const deferredQuery = useDeferredValue(query); // ... }
初回render時は、引数と結果の値は一致する
引数の値の更新時は、
まず遅延値を更新せずに再renderingを行い、
その後、新たに受け取った値で再度renderingを行う