Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
styled-components で脱CSSModules Meguro.css #5 @ oRo
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
CSSModules(CSS, SASS, SCSS) のメンテナンスに 消耗していませんか?
Slide 4
Slide 4 text
消耗ポイント !important 変更したら他の箇所が崩れた webpackェ... 前書いたCSSがわからないぞ
Slide 5
Slide 5 text
CSSModulesはCSSの辛さを そのまま引き継ぐ CSSも全てJSで管理したい!! >
Slide 6
Slide 6 text
styled-components < >
Slide 7
Slide 7 text
styled-componentsの特徴 - 普通のCSSと同じ記法 - 擬似要素、擬似クラスなどの セレクタをほぼサポート - スタイリングの継承(mixin) - Propsで見た目を制御
Slide 8
Slide 8 text
さぁ移行するぞ!!!
Slide 9
Slide 9 text
定数
Slide 10
Slide 10 text
擬似クラス
Slide 11
Slide 11 text
継承
Slide 12
Slide 12 text
for文
Slide 13
Slide 13 text
多段ネスト
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
どう書き替えるか分からない 箇所が結構でてくる... 大規模なCSSほど 構造は複雑になりがち
Slide 16
Slide 16 text
- CSSセレクタの「>」と「&」 - styled-componentsの「attrs」 複雑なCSSの書き換えには この2つがとても重要
Slide 17
Slide 17 text
- 定義済みコンポーネントの拡張 - より動的で拡張的な コンポーネントを作れる - 高階関数、HOCみたいなもの styled-componentsの「attrs」
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
関数として評価される この関数の中でオブジェクトを返却する
Slide 21
Slide 21 text
返却されたオブジェクトがそのまま テンプレートリテラルの中に渡ってくる
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
- & : 親セレクタへの参照 - >: 子セレクタのみの適用 CSSセレクタの「&」と「>」 これ以外にも「~」や「+」があります ※ &は正確にはシンタックスシュガー
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
ul, ol, li要素共通のスタイル 定義をここでしている
Slide 27
Slide 27 text
olの中のli要素の中で 更に入れ子になっている olリストのスタイリング ulの中のli要素の中で 更に入れ子になっている ulリストのスタイリング
Slide 28
Slide 28 text
理想はこんな感じ propsで振舞いを変 更する方が直感的で 分かりやすい こちらの方が Reactらしさがある
Slide 29
Slide 29 text
まとめ - styled-componentsの表現力は sassやscssにも劣らない - 大規模なcssを一度に書き換えるのは難しい - 制御構文の書き換えにはattrs - 複雑なcssの書き換えにはセレクター セレクターはprops制御に書き換えよう! -
Slide 30
Slide 30 text
ご静聴ありがとうございました!