React(リアクト)は、Facebook(現Meta)によって開発されたJavaScriptのライブラリ で、主にユーザーインターフェース(UI。要はユーザーが触れるボタンやメニューなどのデザイン)を作るために使われます。
フロントエンドライブラリ・フレームワークの中では圧倒的なシェアを誇っていて、フリーランス案件の平均年収は800~1300万円とも言われています。
Reactの特徴
- 「コンポーネント」 という部品単位で作成し、再利用できる。よく使うボタンやナビゲーションバーなどの機能を定義し、サイトの様々な場所で呼び出すことができる
- 仮想DOM(Virtual DOM)。変更があった部分のみを効率的に更新する仕組み。サイト全体を更新すると、全て最初から読み込み直さないといけないが、この機能があることで、必要な箇所だけを読み込み直すことができる。
- 状態管理(State)。Reactでは 「状態(State)」 を管理しながら動的なUIを作れる。例えば、カウンターアプリの「カウントの値」を状態として保持する。
- JSX(JavaScript XML)。JavaScriptの中に HTMLのような記述 を書ける仕組み。
function Hello() {
return <h1>Hello, React!</h1>;
}
- React Hooks(フック)。useState や useEffect などの便利な機能がたくさん用意されている。
以下は、「増やす」ボタンをクリックすると、カウント:の部分が1ずつ数が増えていく。
import { useState } from "react";
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>カウント: {count}</p>
<button onClick={() => setCount(count + 1)}>増やす</button>
</div>
);
}