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