質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

659閲覧

ReactのCSS構造・依存関係について 各コンポーネントのスタイルは完全に独立しているべきなのでしょうか

tanana_m

総合スコア28

Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2021/02/01 09:22

知りたいこと

現在ReactでWebアプリケーションの開発をしています。
Reactで何かを作るのは初めてで、チュートリアルや入門書(りあクト)を読みながら開発しています。
現在CSSでスタイルを整える段階なのですが、CSSの構造について悩んでいます。
Reactでは各コンポーネントは依存関係を持たず、再利用可能であるべきとされていますが、
そうであればCSSも完全に独立させるべきなのでしょうか。

例えば、フォントや行間を設定するCSSがあったとします。
一般的な静的ウェブサイトであれば各コンテンツの一番外側に配置されるWrapperタグに対して

css

1.wrapper { 2 color: black; 3 font-weight: 400; 4 line-height: 1.5; 5}

のように指定し、その配下の内容について一括で設定するかと思います。
Reactでも同様に親コンポーネントに上記CSSを設定することで、
配下のコンポーネントに一括で適用可能です。

しかし、それだと各コンポーネントは親に依存してしまいます。
各コンポーネントを独立させるためには全てのコンポーネントのソースに

css

1{ 2 color: black; 3 font-weight: 400; 4 line-height: 1.5; 5}

上記を記述すべきなのでしょうか。

この件について自分で調べても参考となる記事等を見つけることができなかったので、
アドバイス、もしくはご意見いただけると大変ありがたいです。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/02/01 21:47 編集

自分もそんなに詳しくありませんが、たぶん作るものによると思います。例えば、再利用可能な単体のコンポーネントを作るなら、それがどこに置かれてもいいように作るでしょうし、material-ui のようなコンポーネントのセットを作るならある程度セットで使われることを前提としてもいいでしょう。アプリの場合は CSS は自分の制御下に置くことになるので、やりやすいように作ればいいのでは。
tanana_m

2021/02/22 00:54

コメントありがとうございます。 確かに再利用可能かどうかは一つ基準になりそうですね。 自分なりに考えてみます。
guest

回答1

0

自己解決

そもそも「使い回しを考慮するコンポーネント」と「考慮しないコンポーネント」を分けて考えるという発送が足りていませんでした。
自己解決です。ありがとうございました。

投稿2021/03/19 12:42

tanana_m

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問