React入門 ・ Chapter 7

JSXのルール

コード演習 ・ 冒頭を無料公開中

前の章で、関数の中にHTMLのようなタグを書きました。「のような」と言い続けているのには理由があります。JSXはHTMLにそっくりですが、少しだけルールが違います。この章で、その違いを一気に片付けます。数は3つだけ。しかもHTML/CSS教材で学んだ知識は、ほぼそのまま使えます。

ルール① classは className と書く

HTML/CSS教材のチャプター10以来、ずっと使ってきたclass属性。JSXではこう書きます。

const Card = () => {
  return <div className="card">中身</div>;
};

class ではなく className。理由は、JSXがJavaScriptの中で書かれるものだからです——JavaScriptには class という予約語(文法用の単語)が既にあり、衝突を避けるために別名になっています。CSSファイル側は今まで通り .card { ... } で届きます。変わるのはJSX側の属性名だけです。

間違えて class と書いても実は動いてしまうのですが、警告が出ます。「JSXでは className」と指に覚えさせてください。ここは本当に、全員が一度は書き間違える場所です。

コード演習はブラウザ上でそのまま実行できます

本文の残り、エディタ・テスト実行・解答コード・ヒントはプラン加入後に利用できます。

料金プランを見る