【実務・中級編】 Polymorphic Componentsの型定義 – React実践ガイド

こんにちは。プロダクトの規模が膨らみ、デザインシステムや共通UIコンポーネントの整備に本格的に取り組むフェーズにくると、誰もが一度はこの壁にぶぶつかります。

「ボタンやテキストのコンポーネントを作ったはいいものの、デザインの要望で『ここはやっぱり `` タグにしてリンクとして飛ばしたい』とか、『SEO的にここは `

` じゃなくて `

` にしたい』って言われた……。おいおい、また似たようなコンポーネントを量産するのか?」 ……いや、待ってください。その度に `PrimaryButton` や `LinkButton` を乱立させるのは、未来の負債を前借りしているようなものです。 ここで登場するのが、MUIやRadix UIなどのモダンなライブラリでもこぞって使われている「Polymorphic Components(多態的コンポーネント)」です。 今回は、`as` 属性を使ってレンダリングされるHTMLタグを動的に変更しつつ、TypeScriptの型安全性を極限まで高めるテクニックについて、実務の現場でそのまま使えるレベルの知見を交えて徹底解説していきます。 — 1. Polymorphic Componentsとは何か?なぜ現場で必要なのか

Polymorphic Componentとは、ひとつのコンポーネントが、親から渡された `as` プロパティ(または類似の属性)に応じて、レンダリングするHTMLタグや別のReactコンポーネントを動的に切り替えられる仕組みのことです。

例えば、次のような要件を考えてみましょう。

{/ ボタンとして使いたい(

コメント

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