投稿日:2022年8月28日
ReactではじめてのWeb開発をするときに知っておきたいことについて詳しく解説します。
この記事ではReactでのはじめてのWeb開発をするまでに知っておくべきことと、開発のはじめかた(実際に筆者がやったこと)について詳しく解説します。初心者レベルの内容になっています。
公式ページで以下のように記載されています。
ユーザインターフェース構築のための JavaScript ライブラリ
以下のイメージで筆者はしっくりきました。
※あくまでイメージですが、間違っているなどはコメントからお願いします。
Reactは、動的なページを扱いやすくするためHTMLをJavaScriptの値として組み込んだライブラリ
JavaScriptは、DOM(ドキュメントオブジェクトモデル)と呼ばれるHTMLのツリー構造を操作するためのスクリプト言語
この記事の内容は以下の環境で確認しています。
このあとにReact公式チュートリアルについて触れていきますが、ローカル開発環境で進めるためにNode.jsをインストールする必要があるため、Node.jsについて理解していきます。
先ほどReactはHTMLを動的に扱いやすくしたJavaScriptライブラリであると説明しました。作り出された当初は、JavaScriptは主にブラウザ上で動作しフロントエンドで使われるものでした。
ではNode.jsとは一体何なのでしょうか?
公式ページで以下のように記載されています。
Node.js® は、Chrome の V8 JavaScript エンジン で動作する JavaScript 環境です。
つまり、JavaScriptという言語をブラウザではなくバックエンドで使えるものにしたJavaScript実行環境がNode.jsです。
Node.jsでは他の有名言語と同じようにパッケージを使用して他者が開発したプログラムを利用することができます。もし手動でそれらを利用するには各パッケージの依存関係や競合関係を調べて、競合が起きないようにしなくてはいけません。
パッケージのインストールと整合性の管理を自動的に解決してくれるものが、npm(Node Package Manager)がです。
ちなみに参考までにnpmはインストール方法によってNode.jsに同梱している場合もあります。その場合Node.jsをインストールした際に同時にインストールされます。こちらはインストール方法やインストールするバージョンによって異なりますのでご注意ください。
環境で使用するNode.jsのバージョンもnvm(Node Version Manager)というNode.jsのバージョン管理システムで管理することができます。nvmで管理することでプロジェクト間でのバージョン切り替えに簡単に対応することができます。
今回のチュートリアルでは必要ありませんが、複数人での開発プロジェクトで同一バージョンを使う場合は.nvmrcファイルをプロジェクトのルートディレクトリに追加します。
例えば、最新バージョン18を指定するには次のようにします。
% echo "18" > .nvmrc
% nvm use
ここからはReactについて学びの進め方を解説していきます。
Reactは、UIを「コンポーネント」という部品単位で構築することができます。
公式チュートリアルでは、インタラクティブな三目並べゲーム (tic-tac-toe) の作り方をなぞっていく中でその「コンポーネント」を学ぶことができます。
チュートリアルでは、三目並べゲームの中で以下の機能を作成していきます。
主にコンポーネントの組み合わせで機能が出来上がっていく技法が理解できるようになります。チュートリアル内でのコンポーネントの組み合わせ例を一つ紹介すると、1マスをSquareというコンポーネントで作成しそれを9つ組み合わせBoardというコンポーネントにすることで、三目並べの3×3マスボードを作ります。
また、コンポーネント以外ではpropsとstateが特に重要な基礎概念です。ここからはこの2つについて簡単に触れます。
propsは親コンポーネントから子コンポーネントへ値を渡すための仕組みと理解して進めると良いかと思います。ちなみにpropsは“properties” の略のようです。
公式チュートリアルと以下の公式Documentの説明を参考にしてみてください。
stateは各コンポーネントごとに持つ、コンポーネントの状態を管理する仕組みと理解して進めると良いかと思います。チュートリアルでは、クリックされたという状態を管理しています。
公式チュートリアルと以下の公式Documentの説明を参考にしてみてください。