はじめに ReactでHTML要素の大きさ(幅、高さ)、位置を取得したい場面があり、そのときの実装メモ。 ※ TypeScript を使っています 実装 カスタムフックを作る // 引数のtargetProperty をDOMRectのもつPropertyに限定する type DOMRectProperty = keyof Omit<DOMRect, 'toJSON'>; // RefObjectの型は div, span, p, input などのさまざまなHTML要素に対応できるようにextendsで制限をかけつつ抽象化 export const useGetElementProperty = <T extends HTMLElement>( elementRef: RefObject<T> ) => { const getElementProperty = useCallback(