ReactJSチュートリアル:最初のReactアプリを作成する
こんにちは、未来のReact開発者たち!ReactJSの世界に踏み込むこの旅に一緒に参加できることを、とても楽しみにしています。10年以上にわたってコンピュータサイエンスを教えてきた者として、Reactは強力で、非常に楽しい学びとなることを保証できます。それでは、始めましょう!
ReactJSとは?
Reactは、ユーザーインターフェースを構築するためのJavaScriptライブラリです。Facebookによって開発され、以来、世界で最も人気のあるフロントエンドライブラリの一つとなりました。でも、それが脅威のように聞こえるなら心配しないでください – 我们はステップバイステップで解説していきます。
なぜReact?
カードの家を建てていると想像してみてください。何かを変更したいとき、慎重にそれぞれのカードを調整する必要がありますよね?Reactは、カードが自動的に調整される魔法のようなカードを持っているようなものです。これにより、ウェブアプリケーションの構築と更新がずっと簡単で迅速になります。
前提条件
深く掘り下げる前に、必要なものを確認しましょう:
- HTMLとCSSの基本的な理解
- JavaScriptに親しみがあること(心配しないで、進めつつ復習します)
- テキストエディタ(Visual Studio Codeを推奨します)
- コンピュータにNode.jsがインストールされていること
最初のReactプロジェクトの設定
それでは、最初のReactプロジェクトを作成しましょう。Create React Appというツールを使用して、一つのコマンドで必要なすべてを設定します。
- ターミナルまたはコマンドプロンプトを開きます
- プロジェクトを作成したいフォルダーに移動します
- 次のコマンドを実行します:
npx create-react-app my-first-react-app
これは数分かかるかもしれません。完了したら、新しいプロジェクトフォルダーに移動します:
cd my-first-react-app
今、アプリを起動しましょう:
npm start
これで、新しいブラウザウィンドウが開き、最初のReactアプリが動作しているはずです。まだあまりものらないですが、これから始まります!
プロジェクト構造の理解
Create React Appが私たちにとって設定したものを見てみましょう:
my-first-react-app/
README.md
node_modules/
package.json
public/
index.html
favicon.ico
src/
App.css
App.js
App.test.js
index.css
index.js
logo.svg
現時点で最も重要なファイルはsrc
フォルダー内のものです。App.js
は私たちが大部分のコードを書く場所です。
最初のReactコンポーネント
src/App.js
をテキストエディタで開きます。以下のようなものが表示されるはずです:
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;
これはReactコンポーネントです。もしこれが混乱するなら心配しないでください – 我们は解説していきます:
- 我们はReactと他の必要なファイルをインポートします
- 我们は
App
という関数を定義します - この関数はJSX(JavaScript XML)を返します – HTMLに似ているが、JavaScriptを内部で使用できる特別なシンタックスです
- 最後に、コンポーネントを他の場所で使用できるようにエクスポートします
このコンポーネントを自分たちのものに修正してみましょう:
import React from 'react';
import './App.css';
function App() {
return (
<div className="App">
<h1>Welcome to My First React App!</h1>
<p>I'm excited to learn React!</p>
</div>
);
}
export default App;
ファイルを保存し、ブラウザを確認すると、自動的に更新されるはずです!
ステートを使ってインタラクティブにする
それでは、ボタンを追加してクリック回数を数えることで、アプリを少しインタラクティブにしましょう。
App.js
の中身を以下のように置き換えます:
import React, { useState } from 'react';
import './App.css';
function App() {
const [count, setCount] = useState(0);
function handleClick() {
setCount(count + 1);
}
return (
<div className="App">
<h1>Welcome to My First React App!</h1>
<p>I'm excited to learn React!</p>
<button onClick={handleClick}>
You've clicked me {count} times
</button>
</div>
);
}
export default App;
これを分解してみましょう:
- 我们は
useState
をインポートします。これはReactのフックで、コンポーネントにステートを追加するのに使用します - 我们は
useState(0)
を使ってステート変数count
と更新関数setCount
を作成します - 我们は
handleClick
関数を定義して、カウントをインクリメントします - JSX内で、ボタンを追加し、クリックされたときに
handleClick
を呼び出します
保存してブラウザを確認すると、クリック回数を数えるボタンが動作しているはずです!
新しいコンポーネントを作成する
アプリが成長するに連れて、小さくて再利用可能なコンポーネントに分ける必要があります。まずはカウンター用の新しいコンポーネントを作成しましょう。
新しいファイルsrc/Counter.js
を作成し、以下のコードを追加します:
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
function handleClick() {
setCount(count + 1);
}
return (
<div>
<button onClick={handleClick}>
You've clicked me {count} times
</button>
</div>
);
}
export default Counter;
今、この新しいコンポーネントをApp.js
で使用してみましょう:
import React from 'react';
import './App.css';
import Counter from './Counter';
function App() {
return (
<div className="App">
<h1>Welcome to My First React App!</h1>
<p>I'm excited to learn React!</p>
<Counter />
<Counter />
</div>
);
}
export default App;
見てください!ページには2つの独立したカウンターが表示されています。
結論
おめでとうございます!あなたは最初のReactアプリを構築し、コンポーネント、ステート、そして再利用可能なコンポーネントを作成することを学びました。これはReactの旅の始まりに過ぎませんが、すでに大きな進歩を遂げています。
コードを学ぶことは新しい言語を学ぶのと同じです – 練習と忍耐が必要です。すぐに理解できないことがあったとしてもがっかりしないでください。実験を続け、構築を続け、最も重要なのは、楽しむことです!
次のレッスンでは、Reactのprops、より複雑なステート管理について深く掘り下げ、より大規模なアプリケーションを構築し始めます。それまでに、楽しいコードを!
Credits: Image by storyset