メインコンテンツまでスキップ

クイックスタート

このページでは、クイックスタートの内容を進めていきましょう。

理解度チェック

学んだことを思い出しながら、折りたたみを展開して書かれているキーポイントが自分の理解と合っているか確認しましょう。

コンポーネントの書き方

コンポーネントはJavaScript関数として記述します。

コンポーネントの呼び出し方

コンポーネントはJSXでは <MyButton /> <MyButton></MyButton> のような、大文字から始まるタグで記述します。

JSXでのHTML要素の書き方

HTMLのように書けますが、次の違いがあります:

  • タグは必ず閉じる
  • 一番外側の要素は <></> などで必ずひとつにする
  • 属性名が違う場合がある
スタイルの付け方

className (HTMLのclass属性) にCSSクラスを指定します。

データの表示

JSXでは {} (波括弧) の中に JavaScript を書いて値を渡します。属性に {} (波括弧) で値を渡すこともできます。

条件付きレンダー

次のような方法があります:

  • let 変数に if 文を使ってJSXを代入する
  • 条件 ? 演算子を使ってJSXの中で条件分岐する
  • 論理 && 構文を使ってJSXの中で真のときだけ表示する
リストのレンダー

for ループや配列の map() 関数といったJavaScriptの機能を使います。ただし、key 属性の指定が必要です。

イベントに応答する方法

イベントハンドラ関数を宣言します。ただし、イベントハンドラ関数の呼び出しはReactがおこなう (onClick に渡せば click イベントが発生した時に呼び出されます) ので、渡すだけです (() はつけません)。

画面を更新する方法

useState 関数を使います。[値, 更新関数] = useState(初期値) のように引数と返り値が対応します。state の値を表示することで、更新関数で値を更新した時に画面が更新されます。

フックとは何か

フックとは、次の関数です:

  • 関数名が use で始まります
  • Reactが提供する組み込みフックがあります
  • 独自のフック(カスタムフック)を作ることもできます
  • フックはコンポーネントのトップレベルでのみ呼び出すことができます (条件分岐や繰り返しの中では呼び出せません)
  • 条件分岐や繰り返しの中でフックを呼び出したいときは、別のコンポーネントにして呼び出します
コンポーネント間でデータを共有する方法

コンポーネント間でのデータを共有は、次のようにおこないます:

  • props として同じ値を渡すことで共有できます
  • 値を useState フックで作成すれば、値を更新できます
  • useState の更新関数も props として渡せば、コンポーネントをまたいで値を更新できます(state のリフトアップ)