TL;DR

名前のとおり、CSS を JavaScript の中に書く手法。

なぜ必要か

スタイルは同じモジュールの中に書くか、他の依存関係と同じように import するので、コンポーネントに関係するスタイルを探してコードベースを検索する必要がない。マークアップと同じく、スタイルもプロパティや状態に応じて生成できる。スタイルを単体テストの対象にすることもできる。

仕組み

スタイルを適用するタイミングによって、2 種類に分けられる。

  • Runtime CSS-in-JS: アプリケーションの実行時にスタイルを解釈して適用する
  • Zero-runtime CSS: ビルド時に CSS ファイルを生成する

関連