【React.js/Next.js】React JSX 完全入門

React.js / Next.js

JSX って、どんな機能があるのかな?

今回は、React.js で JavaScript の中に HTML のような書き方ができる JSX について解説します。

React.js の環境構築がまだの場合は、下記より環境構築を行なってください。

JSX とは?

JSX(JavaScript XML)とは、JavaScript の中に HTML のような書き方ができる記法のことで、主に React.js で使われ、画面の見た目(UI)を作るために利用されます。
書いた JSX は最終的に、 React.createElement という JavaScript のコードに変換されて動作します。

なぜ JSX を使うの?

従来のWeb開発 では、HTML・CSS・JavaScriptを別々のファイルで管理する ことが一般的でした。しかし React.js では、機能単位(コンポーネント)で管理する考え方を採用 しています。

JSX を使うことで、見た目(HTML)、処理(JavaScript)、状態管理を1つのコンポーネント内にまとめて書くこと ができ、修正や再利用、保守がしやすくなる のが 大きなメリット です。

JSX のルールと基本的な使い方

それでは、ここから実際に JSXルール基本的な使い方 について見ていきましょう

必ず1つの親要素で囲む

空要素も「〜/>」で閉じる必要がある

JSX では、すべてのタグを閉じる必要がある ため、HTML では省略できる 空要素
/>閉じる必要があります。

HTMLとは異なる属性がある

JavaScript を書くときは { } を使う

JSX 内で {} を使うと、JavaScript変数や計算、関数の呼び出し などを 埋め込むことができます

true / false / undefined / null はレンダリングされない(何も表示されない)

JSX では truefalseundefinednullレンダリングされないため、画面には何も表示されません。※ この仕様は 条件分岐でコンポーネントを表示する際によく利用されます。

スタイルの設定方法

JSXスタイルの設定方法 は、CSSのハイフン付きのプロパティ名をキャメルケースに変換 して書きます。
また 値は文字列で任意の単位を指定 でき、数値のみを指定した場合は自動で px として扱われます(例: `padding: 16` → 16px)

コメントの書き方

配列(map)

map を使うことで、配列の要素を JSX に変換することができ、key 属性 は要素を特定するために必須で、要素が増減しても効率的に更新されるように使われます。
簡単な例では indexkey 属性 として使うことがありますが、実際のデータでは ユニークな一意のIDを使うのが望ましい です。

コンポーネントもタグのように書ける

まとめ

JSX について解説してきましたが、いかがでしたでしょうか?

JSX は、JavaScript の中に HTML のような書き方ができる記法のことで、最終的に React.createElement という JavaScript のコードに変換されて動作します。
また React.js では、1つのコンポーネント内に見た目(HTML)、処理(JavaScript)、状態管理をまとめて書くことができる ため、機能単位で管理しやすくなる という特徴があります。

まずは JSX の基本的な使い方をしっかり押さえ、小さな コンポーネント で試しながら、React.js での フロントエンド開発 の理解をより深めていきましょう。

公式サイト

JSX でマークアップを記述する

JSX でマークアップを記述する – React
The library for web and native user interfaces
tachu × tachu

Laravel / React フルスタックエンジニア

Webエンジニア歴15年、フリーランス歴8年で、PHP / Laravel を中心に、
React.js / Vue.js を用いたフルスタックでのWeb開発をしています。

技術記事は Laravel / React / Web開発 を中心に書いています。

Webサービスの開発、既存システム改善、機能追加、技術相談、小規模な開発など、お気軽にご相談ください。

React.js / Next.js
シェアする

コメント

タイトルとURLをコピーしました