技術とかの雑なToday I Learnedメモ

CSS in JS なのか CSS Modules なのか

CSS in JS なのか CSS Modules なのか

どっちがいいのか分からないので色々読んでみた。

React CSSで悩む全ての人へ【2022年版】 | ramble - ランブル -

Pure CSS

  • まあ選択肢には上がらない(スコープがコンポーネントに閉じてない)

CSS Modules

CSS in JS

  • 代表格として styled-components と emotion
  • emotion は @emotion/styled を使うことで styled-components と全く同じ書き方に
  • @emotion/react は著者の推しだが JSX Pragma を使う必要があり構築に手間がかかる

Next.js が CSS Modules を推奨する真相に迫りたい

そもそも Next.js が CSS Modules を推している

  • どうやら CSS Modules を使うことそのものが読み込まれる順番が分からないということから冪等性の担保になっているらしい
    • ただしこれは推している理由ではないみたい
  • SSR 対応で CSS in JS に比べて楽(らしい)
  • サードパーティを受け入れることの副産物かも

新しくnext.jsで作るプロダクトで CSS Modules か CSS in JS か決める調査や思考のログ

結構長くてちゃんと読み切れてないけど linaria という選択肢もあるらしい

どれがいいのかなあ。