やさしいReact入門②

React

React初心者向け|コンポーネントとは?役割・作成方法・使い回しまで徹底解説

Reactを学び始めると、必ず耳にするのが「コンポーネント(Component)」という言葉です。

Reactでは、このコンポーネントという考え方がアプリケーション開発の中心となっています。

「コンポーネントって何?」「なぜ分ける必要があるの?」「どうやって作るの?」と疑問に感じる方も多いでしょう。

この記事では、Reactにおけるコンポーネントの役割から作成方法、利用方法までを初心者向けにわかりやすく解説します。


この記事でわかること

  • コンポーネントとは何か
  • Reactでコンポーネントを利用するメリット
  • 親子コンポーネントの考え方
  • 現在主流の関数コンポーネント
  • コンポーネントの作成方法
  • 他のコンポーネントから利用する方法

コンポーネントとは?

コンポーネント(Component)は、日本語では「部品」や「構成要素」という意味があります。

Reactでは、画面全体を一つひとつの部品に分割し、それらを組み合わせてページを構築します。

例えば、以下のようなものはすべてコンポーネントです。

  • ボタン
  • 入力フォーム
  • ヘッダー
  • フッター
  • メニュー
  • 検索バー

小さな部品だけでなく、大きな部品もすべてコンポーネントとして扱います。

ポイント

Reactでは「ページを作る」のではなく、部品を組み立ててページを作るという考え方になります。


Reactはコンポーネントの組み合わせでできている

Reactアプリケーションは、複数のコンポーネントを組み合わせて構成されています。

App
├── Header
├── Main
│   ├── Form
│   ├── Button
│   └── List
└── Footer

また、同じコンポーネントを複数回利用することもできます。

<Button />

<Button />

<Button />

このように、一度作成したコンポーネントは必要な数だけ再利用できます。


コンポーネントを利用するメリット

Reactでコンポーネントを利用する最大のメリットは、再利用(使い回し)ができることです。

例えば、同じデザインのボタンを10か所に配置したい場合でも、毎回HTMLを書く必要はありません。

<Button />

と記述するだけで利用できます。

コンポーネント化することで、次のようなメリットがあります。

  • コード量を減らせる
  • 保守しやすくなる
  • デザインを統一できる
  • チーム開発しやすくなる

ポイント

Reactでは「同じものを何度も書かない」という考え方が重要です。共通化できるものは積極的にコンポーネント化しましょう。


関数コンポーネント

Reactでは現在、関数コンポーネントが標準的な書き方です。

const Button = () => {
  return (
    <button>ボタン</button>
  );
};

export default Button;

コンポーネントを作成してみよう

コンポーネントは、.tsxファイルとして作成します。

今回は次のようなディレクトリ構成にします。

src
├── components
│   └── Button.tsx
├── styles
└── App.tsx

補足

ディレクトリ構成に正解はありません。プロジェクトに応じて柔軟に管理しましょう。


Buttonコンポーネントを作成する

最もシンプルなボタンコンポーネントを作成してみましょう。

const Button = () => {
  return (
    <button>ボタン</button>
  );
};

export default Button;

基本的な書き方はApp.tsxとほとんど同じです。

異なるのは、コンポーネント名と表示するUIだけです。


Appコンポーネントから利用する

作成したコンポーネントは、importして利用します。

import Button from "./components/Button";

そして、HTMLタグを書くように利用できます。

function App() {
  return (
    <>
      <h1>Reactコース</h1>

      <Button />
      <Button />

    </>
  );
}

<Button />を複数記述すれば、その数だけボタンが表示されます。

これがReactにおけるコンポーネントの再利用です。


クラスコンポーネントについて

Reactにはクラスコンポーネントという書き方もあります。

しかし現在では、React公式でも関数コンポーネントを中心とした開発が推奨されています。

これからReactを学ぶ場合は、まず関数コンポーネントを習得すれば十分です。


まとめ

この記事のポイント

  • コンポーネントとは画面を構成する「部品」のこと
  • Reactは部品を組み合わせて画面を構築する
  • 一度作成したコンポーネントは何度でも再利用できる
  • 現在は関数コンポーネントが主流
  • コンポーネントは.tsxファイルとして作成し、importして利用する

Reactでは、「コンポーネント化する」という考え方が非常に重要です。

最初は「なぜファイルを分けるのだろう?」と感じるかもしれませんが、アプリケーションが大きくなるほど、コンポーネント化のメリットを実感できるようになります。

まずはボタンのような小さなコンポーネントから作成し、少しずつ部品を組み合わせながらReactらしい開発スタイルに慣れていきましょう。

エンジニアのキャリア相談乗っています。

33歳9ヶ月から未経験でエンジニアのキャリアをスタートし、

1年半で年収200万円以上UPさせ、職場環境・人間関係にも恵まれ、

転職に大成功できた管理人そーそー。

すでにエンジニアとして活躍されていてキャリアに不安がある方や

これから未経験でエンジニアを志される方まで、

僕自身の経験から、少しでもお役に立てればと思っています。

無料でキャリア相談をやっております。

(※採用には関わっていないので、特定の企業への誘導?勧誘?みたいなことは、もちろんないです。いちエンジニアなので、採用活動には携わってないので、そこはご安心を。)

僕自身、エンジニアとしてのキャリアがものすごく長い訳ではないので、

逆にこちらが教えていただくことが多かったりするかもしれないですが、

自分自身、不安が多い中でここまで来たので、少しでも役に立てればと思い、活動しています。

XのDMから気軽にご連絡・ご相談ください!

あ、普通に相談でなくても、エンジニアと交流したいや、サイトの感想など、

どんな目的でも大丈夫です!冷やかし以外でお願いします😂

コメント

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