演習(第6部)
設計の良し悪しは「リファクタリングしてみる」と分かります。
- 抽出する: 同じ長いクラス列を持つボタンが 3 か所にコピーされた状態を作り、それを Rails の partial(または React コンポーネント)に抽出してください。
@applyで CSS クラスにする案と比べ、なぜ抽出の方が良いのか §22.2 の観点で説明できますか。 - バリアント設計:
intent(primary/danger)とsize(sm/md)を持つボタンを、React なら CVA +cnで、Rails なら Ruby のハッシュ+class_namesで実装してください(§23.4・§24.5)。 - 所有する: shadcn/ui のボタンを 1 つ取り上げ、「これは依存ライブラリではなくコピーして所有するもの」とはどういう意味か、中身(
cn・CVA・Radix)を読んで説明してください(§25.5)。