有料プラン

React入門:JSX・コンポーネント・props

Reactと宣言的UI、JSX、コンポーネント、props、children、ファイル分割を学ぶ全22レッスンの入門コースです。モダンJavaScript復習7レッスンは、既習または診断合格で免除できます。最後はプロフィールカードを再利用可能なコンポーネントへ分割します。stateやフォームは次のコースで扱います。

レッスン

22件

所要時間

約5.5時間

ランク

初級

学習環境

ブラウザ完結

目標

プロフィールカードを複数の再利用可能なReactコンポーネントへ分けて表示する

概要

Reactと宣言的UI、JSX、コンポーネント、props、children、ファイル分割を学ぶ全22レッスンの入門コースです。モダンJavaScript復習7レッスンは、既習または診断合格で免除できます。最後はプロフィールカードを再利用可能なコンポーネントへ分割します。stateやフォームは次のコースで扱います。

できるようになること

JSXのルールを理解し、式を埋め込んだUIを書ける

コンポーネント・props・childrenを使って表示を再利用できる

画面を部品へ分解し、ファイル単位で整理できる

前提知識・必要な環境

必須

  • JavaScript基礎文法:処理を組み立てる 修了相当

推奨

  • JavaScriptでWebページを動かす 修了相当
  • モダンJavaScript:データ処理とコード設計 修了相当

環境

ブラウザ完結(インストール不要)

内容

テキストでの解説

0

レッスン

コーディングの問題

19

レッスン

クイズ問題

3

レッスン

監修

ゆめさくコード編集部

プログラミング学習をもっと身近に。初心者から実務レベルまで、わかりやすいコンテンツをお届けします。

生田 陸人

ゆめさくエンジニア / 現役ソフトウェアエンジニアRuby on Rails・Nuxt.js・Next.js・CakePHPなどの実務の開発をベースに、学習コンテンツを作成しています。

このコースの導入スライド

レッスンの最初に、図と短い言葉で学ぶ内容をつかみます。

導入スライドをすべて見る

同じ表示、書くものが違う

左は「どうやって画面を組み立てるか」の手順、右は「どうなっていてほしいか」を書いています。

命令的:手順を書く

const box = document.getElementById("profile"); const title = document.createElement("h1"); title.textContent = "あおいのプロフィール"; box.appendChild(title);

宣言的 UI:完成形を書く

export default function App() { return <h1>あおいのプロフィール</h1>; }

DOM をどの順番で組み立てるかは React がやります。

1 / 4

Reactとは

代表の印がないと表示されない

export default は「このファイルの代表はこれです」という印です。この印がないと、React はどの関数を表示すればよいか分かりません。

export default を書き忘れる

function App() { return <h1>あおいのプロフィールサイト</h1>; }

export default を書いている

export default function App() { return <h1>あおいのプロフィールサイト</h1>; }

React はファイル名だけを知っていて、中の関数の名前までは知りません。だから代表に印を付けます。

1 / 4

最初の表示

JSXは文字列ではない

return のうしろに h1 のタグがそのまま書けます。クォートで囲むと、ただの文字列になってしまいます。

文字列として書くと

export default function App() { return "<h1>あおいのプロフィール</h1>"; }

JSXとして書くと

export default function App() { return <h1>あおいのプロフィール</h1>; }

文字列は画面にそのまま表示され、要素にはなりません。

1 / 5

JSX

class でなく className

JSX の属性名は、ブラウザの DOM API に合わせます。CSS の class は JSX では className です。

HTMLの感覚で書く

<div class="profile"> <h2>あおい</h2> </div>

JSXの書き方

<div className="profile"> <h2>あおい</h2> </div>

class と書いても画面には出ますが、開発中に className へ直すよう警告されます。

1 / 5

JSXの決まり

このコースの動く図解

動かしながら、仕組みや変化を目で確かめられます。

動く図解をすべて見る

腕試しに、1問だけ解いてみる

陽葵「注文ウィジェット、今風にできる?」

1問目は無料で解けます。教材を見ないで、依頼と完成条件だけを読んで書いてみてください。

React道場 ハレノヒ珈琲をモダン化する10問

次に学ぶなら

このコースを終えたあとに進むと、無理なく続けられます