shiftB
instagramyoutube
運営会社プライバシーポリシー特定商取引法に基づく表記JavaScript学習サイト JS Gym
お問い合わせ
©2025 bubekichi inc.

react 基礎

0
Threads
受講生ブログ

react 基礎

icon
kento

react 基礎

投稿日: 2024年11月02日

学習振り返り
要約
  • ReactはUIを効率的に構築するためのJavaScriptライブラリで、コンポーネント、props、stateが基礎となる。
  • コンポーネントはUI部品で、親から子へのデータの受け渡しにpropsを使用する。
  • stateはコンポーネント内で変化するデータを管理し、ユーザーの操作に応じてUIを更新する。
音声で記事を再生

はじめに

学習の振り返りとして、今回はReactの基礎についての内容です! 基礎内容は、コンポーネント/props/state の3つを書こうと思います。 間違いなどあれば、教えてください笑

他にもReactについて書いたので、よかったら見てやってください笑

  • 入れ子
  • レンダリング

Reactとは

Reactとは、WebサイトやWebアプリのユーザーインターフェイス(UI)を効率的に構築するためのJavaScriptライブラリの一種です!

Meta社(旧facebook)によって開発され、2013年にオープンソースとして公開されました!

コンポーネント

コンポーネントはReactの基礎として重要なので、そもそもコンポーネントとは何か?という部分をここでは触れていきたいと思います。

コンポーネントとは、ページを構成するUI部品のことで、ビュー(HTML), スタイル(CSS), ロジック(JavaScript)の3つで構成されています。

以下、図

Reactは、コンポーネント(部品)を組み合わせることでページを構成していく仕組みになっています。

コンポーネントはひとつの画面に複数配置することが可能です。

例えば、複雑な画面だと機能ごとに複数のコンポーネントに分離できたり、入れ子構造で子コンポーネントが親コンポーネントの内部にレンダリングが可能になる!
※レンタリング、入れ子については別途の記事で書く予定なので、ここでは割愛させていただきます。

この後、ToDoアプリを例に、コンポーネント/ props/ stateの説明をしていこうと思います!

1.コンポーネント

コンポーネントは、UIの部品にあたる部分です。

Todoアプリでは、全体(親)のコンポーネント(TodoApp)と各(子)コンポーネント(TodoItem)があります。

TodoItemは、ToDoの「テキスト」と「完了状態」を表示するコンポーネントとなります。

// TodoItem.js - 個々のTodoアイテムを表示する
import React from 'react';

const TodoItem = ({ item, toggleComplete }) => {
  return (
    <li 
      onClick={() => toggleComplete(item.id)} 
      style={{ textDecoration: item.completed ? 'line-through' : 'none' }}
    >
      {item.text}
    </li>
  );
};

export default TodoItem;

2. props

propsは、親コンポーネント(TodoApp)から子コンポーネント(TodoItem)にデータを渡すときに使います。

ここでは、TodoAppからTodoItemへ、各Todoデータ(テキストや完了状態)と、完了状態を切り替えるための関数を渡しています。

ポイント

  • todos配列には複数のTodoがあり、それぞれのTodoItemにitemとtoggleCompleteをpropsとして渡しています。
  • toggleCompleteは、完了状態を切り替える関数で、props経由でTodoItemへ渡します。
// TodoApp.js - メインのTodoアプリ全体
import React, { useState } from 'react';
import TodoItem from './TodoItem';

const TodoApp = () => {
  const [todos, setTodos] = useState([
    { id: 1, text: '買い物に行く', completed: false },
    { id: 2, text: 'メールを送る', completed: true },
  ]);

  const toggleComplete = (id) => {
    setTodos(
      todos.map((todo) =>
        todo.id === id ? { ...todo, completed: !todo.completed } : todo
      )
    );
  };

  return (
    <ul>
      {todos.map((todo) => (
        <TodoItem key={todo.id} item={todo} toggleComplete={toggleComplete} />
      ))}
    </ul>
  );
};

export default TodoApp;

3. state

stateは、コンポーネント内で変化するデータを管理するために使います。

上記のコードでは、Todoアイテムのリスト(todos)がstateとして定義され、Todoの完了状態が変更されると更新されます。

ポイント

  • useStateで、初期のTodoリストを設定。
  • toggleComplete関数はidを元に対象のTodoを見つけ、completed状態を切り替える。

まとめ

コンポーネント: TodoAppやTodoItemなどUIの各部品のこと。

props: itemやtoggleCompleteをTodoAppからTodoItemに渡す役割。

state: Todoリスト全体を管理するtodos

0

シェア!

Threads
icon
kento
プロフィールを見る
Loading...
記事一覧に戻る
Threads
0

関連記事

TAの使い方とマインドセット

icon
tomoe

MBTI×学習スタイル 巨匠の私が約4ヶ月で完走した学習戦略

user
吉本茜

まぁええか精神の注意点

user
吉本茜

みんな真面目過ぎん?まぁええか精神のすすめ

user
吉本茜

【スクール生向け】オフ会での学び

user
吉本茜

TAの使い方

user
吉本茜

最新記事

TypeScriptの型安全を殺す!? 個人的アンチパターン🔥

user
吉本茜

初心者向け!3つのパターンのコード比較で理解するNext.jsのコンポーネント分割

icon
タマネギ

NestJSのデコレーターとは?@Controllerや@Injectableの意味と使い方を初心者向け

icon
kento

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ

icon
kento

Nest.jsの基本構成ガイド

icon
kento

コミュニティを楽しむためのステップ

icon
まえたく