【実務・中級編】 Intersection Typesを用いたPropsの合成 – React実践ガイド

こんにちは。チームのコードレビューをしていて、「あ、またこのボロが出てるな」と思う瞬間がある。それは、既存のHTML要素をラップした汎用コンポーネントを作るとき、Propsの型定義で車輪の再発明をしていたり、`any`や`unknown`で濁していたりするコードを見たときだ。

例えば、ただのスタイル付きボタンや、ちょっとしたラッパーdivを作るだけのコンポーネントなのに、`onClick`や`className`、果てはアクセシビリティ系の属性(`aria-`)まで律儀に自分で型定義し直しているコードを見かける。
君ね、ブラウザが裏側でどれだけの標準属性をサポートしていると思っているんだ?それを手動でメンテするなど、仕事量を増やすだけの修行でしかない。

今回は、TypeScriptの Intersection Types(交差型: `&`) を使って、既存のHTML属性と俺たちのカスタムPropsをエレガントに、かつ安全に合成する実務の極意を授けよう。中級から一歩抜け出して、チームから「おっ、こいつの書くコードは違うな」と思われるための必須スキルだ。

—

なぜIntersection Types(`&`)が必要なのか?

実務でフロントエンドを書いていれば、「ネイティブの`
);
};

このコードの何が優れているのか?

1. 完全な型補完と安全性:
使う側は、`` のように、標準の`

コメント

タイトルとURLをコピーしました