useCallback
メモ化
した
コールバック
関数
を返す
Hooks API
.
useCallback
を利用しない
コールバック
は
FunctionalComponent
が再描画されるたびに
関数インスタンス
を生成して
イベント
として
バインド
されてしまう.
useCallback
を用いると
関数インスタンス
を生成せずに再描画後も再利用する.
useMemo
も同様だが,
メモ化
のコストが
再生成
のコストを下回るかどうかは検討する必要がある.
特に
関数
の
再生成
のコストが,
useCallback
の実行コストを上回ることは滅多にないため,
コンポーネント
の
レンダリング
の抑制以外にはあまり使うべきではない.
https://ja.react.dev/reference/react/useCallback
code:.ts
import React, { useCallback } from 'react'
const Foo = () => {
const onClick = useCallback((e) => {
console.log(e.target.value);
}, []);
return (
<div onClick={onClick} />
);
}
#React
#React_Hooks