Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8767

ReactプロジェクトにおけるCSSの扱い方

$
0
0
ReactプロジェクトにおけるCSSの扱い方について自分の意見をまとめます。 想定読者は、CSSやReactを使ってアプリケーションを作ったことのある方です。 Reactプロジェクトの問題: UI要素の再利用方法が複数存在する Reactにおいては、UI要素の再利用方法が複数存在する問題がある。 CSSを使ったUI要素の再利用。これは、基本的には一度作ったCSSクラスを様々なHTML要素に付与することである。例えば「Button」クラスを様々な要素に付与して使う。 Reactコンポーネントを作ることによるUI要素の再利用。例えば「Button」コンポーネントを作り、それをいろいろな画面で使う。 この二つの考え方(CSS、React)はどちらも正しい方法だが、混ぜて使うと問題が生じる。ボタンのデザインを再利用するためにCSSクラスを再利用すべきか、コンポーネントを作って再利用すべきか迷いが生じる。書き方が一つに定まらず、実装を遅くする。 どちらの方法が良いか Reactコンポーネントは、Reactプロジェクトにおいて必ず使うものである。そのため、CSSクラスによる再利用を志向しても必ずReactコンポーネントによる再利用と混ざる。CSSクラスのみに寄せきれない。一方、CSSクラスの再利用を全くせずReactコンポーネントのみを再利用することは可能である。 そのため、Reactコンポーネントを再利用するという方に寄せるのが良いと考える。 tailwindcssによる解決 tailwindcssは、Reactコンポーネントの再利用に寄せる方向でこの問題を解決している。tailwindcssでは、あらかじめ用意されたユーティリティCSSクラスをHTML要素に適用してスタイリングする。スタイリングしたHTML要素を複数の場所で使いたくなった時は、React(やVue)のコンポーネントとして切り出すことによって再利用する。 重要なのはCSSクラスを開発者が書かないことだ。アプリケーションレベルの再利用の単位は必ずReactコンポーネントになり、CSSクラスを自分で書いてそれを再利用することは基本的にしない。これによって、再利用の方法が「Reactコンポーネントとして書く」という一つにまとまり、迷いが生じない。 ただ、tailwindcssを使うかどうかは意見の分かれるところではある。とはいえ、この考え方自体はtailwindcssを使わなくても使える。 結論 tailwindcssの考え方を参考にして、 再利用の単位は常にReactコンポーネントとする。 CSSクラスの再利用は基本的に行わない。 特に、アプリケーション特有のCSSクラスを書いてそれを再利用することには極めて慎重になる。 ただし、ごく一般的なユーティリティCSSクラス(tailwindcssで定義しているような粒度のもの)を定義することは許容される。 コンポーネントの内部においてどのようなCSSソリューションを使うかは自由(素のCSS、BEM、SCSS、CSS-Modules、Styled-component、tailwindcss なんでもよい。自分のプロジェクトの性質に応じて選択する)。 という考え方をとる。 以上

Viewing all articles
Browse latest Browse all 8767

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>