本文へスキップ
BecomeCoder

Reactコース · 第1章 Reactをはじめる · レッスン3

属性とスタイル ― classNameとstyle

ブラウザで完結

導入

JSX は HTML に似ていますが、JavaScript の予約語との衝突を避けるため、いくつかの属性名が変わります。代表が classclassName です。

説明

CSS クラスclassName、インラインスタイルはオブジェクトで渡します。

function App() {
  const boxStyle = {
    padding: "12px",
    border: "2px solid #0891b2",
    borderRadius: "8px",
    color: "#0e7490",
  };
  return (
    <div style={boxStyle}>
      <h2 className="title">スタイル付きのボックス</h2>
      <p>style はオブジェクトで、プロパティは camelCase で書きます。</p>
    </div>
  );
}
  • style={{ ... }} … 外側の {} は「JSXへの埋め込み」、内側の {} は「JavaScriptのオブジェクト」。だから波かっこが2重になります。
  • background-color のようなCSSプロパティは、JSX では backgroundColorcamelCase で書きます。
  • 値は基本的に文字列"12px")で書きます。

やってみよう

boxStyleborder の色や borderRadius の値を変えて、見た目がどう変わるか確かめてみましょう。backgroundColor を足して背景色を付けてみてください。

実際に動かしてみよう

下のエディタにReactのコードを書くと、右側のプレビューにその場で描画されます。`function App() { ... }` を定義すると自動で表示されます(React・useState などは React.useState の形で使えます)。本文の例を打ち込んだり書き換えたりして、表示の変化を確かめながら進めましょう。

React — ブラウザ内で実行

JSXをその場で変換して描画する学習用React環境(React18 + Babel・同梱)を読み込みます。
スクロールして表示された時点でも自動で読み込まれます。