https://images.unsplash.com/photo-1632882765546-1ee75f53becb?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb

前回までの記事

React Hooksを学ぶ【useState編】

ReactHooksを学ぶ【useReducer編】

ReactHooksを学ぶ【useRef編】

ReactHooksを学ぶ【useEffect編①】

ReactHooksを学ぶ【useEffect編②】

参考

https://ja.react.dev/reference/react/useCallback

https://qiita.com/seira/items/8a170cc950241a8fdb23

https://zenn.dev/frontendflat/articles/react-usecallback-usage

https://blog.uhy.ooo/entry/2021-02-23/usecallback-custom-hooks/

https://qiita.com/yokoto/items/ee3ed0b3ca905b9016d3#-必要な再レンダリングと不要な再レンダリングとは何か

useCallbackとは?

useCallbackもuseEffectに負けず劣らず複雑なものである。useCallbackの存在意義は、誤解を恐れずに言うと、「子コンポーネントの不要な再レンダリングを防止する」ためのフックである。

コンポーネントの再レンダリングは、状態が更新される、親コンポーネントが再レンダリングされる、っといったタイミングで実行される。

Reactは非常に高速であるため、多少の誤った再レンダリングでは性能に影響を与えないが、やはり適切なレンダリングをさせたほうが不要な問題に悩まされずに済む。

このレンダリングのうち、useCallbackでは「親コンポーネントが再レンダリングされる」部分を制御するためのフックとなっている。