3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Reactは効率的なUIの構築に特化したライブラリです。
以下にReactの主要な機能や概念を簡単にまとめました。

JSX記法

JavaScriptでHTMLライクにUIを記述できる構文。

  • {}でJavaScriptの値を埋め込める
  • 親タグで要素を囲む必要がある
    const name = "Kiko";
    const element = (
    <div>
      <h1>こんにちは{name}さん</h1>
    </div>
    );
    
    
    

コンポーネントの使い方

Reactではコンポーネントを使ってUIを部品化し再利用可能にする

  • コンポーネントは関数(もしくはクラス)として定義する

  • 必要に応じて呼び出すだけで使える

  • Propsで親からデータを渡して動的に表示を変える

  • 先に子を定義し、あとで親と組み合わせるのが基本的なルール

      // コンポーネントの定義
      function Greeting(props) {
        return <h1>こんにちは{props.name}さん</h1>;
      }
      
      // コンポーネントの使用
      function App() {
        return (
          <div>
            <Greeting name="Kiko" />
            <Greeting name="Taro" />
          </div>
        );
      }
    
    

Propsとは

  • 親コンポーネントから子コンポーネントへデータを渡す仕組み

  • コンポーネント間で値を受け渡してUIを動的に変化させる時に使う

  • 読み取り専用

      // 子コンポーネント: データを受け取る
      function Greeting(props) {
        return <h1>こんにちは{props.name}さん</h1>;
      }
      
      // 親コンポーネント: データを渡す
      function App() {
        return (
          <div>
            <Greeting name="Kiko" /> {/* name="Kiko" を渡す */}
            <Greeting name="Taro" /> {/* name="Taro" を渡す */}
          </div>
        );
      }
    
    

stateとは

  • コンポーネント内で管理する動的なデータ(状態)

    • useStateで状態を定義
  • 状態が変わると自動的にUIが更新される

      import React, { useState } from 'react';
      
      function Counter() {
        const [count, setCount] = useState(0); // 数字を管理する「箱」を作る
      
        return (
          <div>
            <p>{count}</p> {/* 箱の中身を表示 */}
            <button onClick={() => setCount(count + 1)}>増やす</button> {/* 箱の中身を増やす */}
          </div>
        );
      }
    
    

useState

初期値は0。最初の数字をここで決める。

count

「今の数字」を覚えておく場所。

setCount

数字を更新するための関数。

再レンダリングとは

StateやPropsの変化でReactが自動的に画面を描き直すこと

useEffect

再レンダリング後に動く処理のこと

    import React, { useState, useEffect } from 'react';
    
    function Counter() {
      const [count, setCount] = useState(0);
    
      useEffect(() => {
        console.log('再レンダリングされました');
      });
    
      return <button onClick={() => setCount(count + 1)}>+1</button>;
    }
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?