第1章:React 18 の基礎概念

2024年2月24日

こんにちは、楠姐です!今日は「React 18 の基礎概念」についてお話しします。この章では、React 18 の新機能や改善点、モダンWeb開発における応用について学びます。また、React 18 のアーキテクチャの変更点についても触れていきますので、ぜひ最後までお付き合いください。

1.1 React 18 の概要

React 18 では、いくつかの重要な新機能と改善が導入されました。その中でも特に注目すべきは、並行レンダリングの機能です。これによりアプリケーションのパフォーマンスが向上し、ユーザー体験がよりスムーズになります。具体的には、React 18ではstartTransitionuseTransitionといった新しいAPIが追加され、ユーザーのインタラクションに応じたコンポーネントの更新の優先度を調整することができるようになりました。

さらに、自動バッチ処理の機能も追加されました。これにより、複数の状態更新が同時に行われる際に、再レンダリングの回数を減らすことが可能になり、パフォーマンスが最適化されます。加えて、React 18では、Suspenseを利用したデータ取得の機能も強化されており、データフェッチングをより洗練された方法で行うことができます。

このように、React 18は我々にとってより強力で効率的なツールとなりました。次のセクションでは、モダンな開発環境の構築について詳しく見ていきましょう。

1.2 モダン開発環境の構築

React 18 を効果的に利用するために、まずはモダンな開発環境を整えましょう。ここでは、人気のあるツールである Vite と Next.js を使用した React プロジェクトの作成方法について説明します。

Vite は、非常に高速なビルドツールであり、開発時のパフォーマンスが向上するため、React 開発に非常に適しています。以下のコマンドで Vite を使ったプロジェクトを作成できます:

npm create vite@latest my-react-app -- --template react
cd my-react-app
npm install
npm run dev

これで、基本的な React プロジェクトが構築され、ブラウザで開発を開始することができます。

次に、Next.js はサーバーサイドレンダリングと静的サイト生成の機能を提供するフレームワークです。Next.js を使ってアプリケーションを作成するには、以下の手順を実行します:

npx create-next-app@latest my-next-app
cd my-next-app
npm run dev

これで、React 18 アプリケーションの構築に必要な環境が整いました。次は、実際にはじめてのReactアプリケーションを作成していきましょう。

1.3 はじめてのReactアプリケーション

さて、私たちはついに React 18 アプリケーションを作成する準備が整いました。ここでは、基本的な「Hello World」アプリケーションを作成し、React 18 のプロジェクト構造を理解していきます。

以下は、簡単な React コンポーネントを作成するコードです。src/App.jsx ファイルを以下のように編集します:

import React from 'react';

function App() {
  return (
    <div>
      <h1>Hello, React 18!</h1>
    </div>
  );
}

export default App;

このコンポーネントをブラウザで表示するために、main.jsx でレンダリングする必要があります。以下のようにコードを編集します:

import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
import './index.css';

ReactDOM.createRoot(document.getElementById('root')).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

これで、基本的な React アプリケーションが完成しました。ブラウザでhttp://localhost:3000を開くと、「Hello, React 18!」と表示されるはずです。これが React 18 のアプリケーションです。

最後に、JSX と TypeScript の統合について見ていきましょう。

1.4 JSXとTypeScript

React では、JSX 構文が一般的に使用されます。JSXは、JavaScript内でHTMLのような構文を埋め込むことを可能にし、視覚的なコンポーネントの作成を直感的に行うことができます。

ここでは、JSX の基本的な使い方を説明します。例えば、次のように複数の要素を含むコンポーネントを作成できます:

function Greeting({ name }) {
  return <h1>Hello, {name}!</h1>;
}

さらに、TypeScript を使うことで、型安全な開発が可能になります。React で TypeScript を使用する場合、プロパティの型を指定することができ、エラーを未然に防ぐことができます。上記のコンポーネントを TypeScript で書き換えると、次のようになります:

interface GreetingProps {
  name: string;
}

const Greeting: React.FC<GreetingProps> = ({ name }) => {
  return <h1>Hello, {name}!</h1>;
};

TypeScript を利用することで、型に関するエラーチェックがコンパイル時に行われるため、より堅牢なアプリケーションを構築できるのです。

このように、React 18 では JSX と TypeScript の統合が簡単であり、両者の利点を最大限に活かすことができます。この章では React 18 の基礎概念について学びましたが、次の章では、React 18 コンポーネントの基礎を深く理解していきます。お楽しみに!