ダウンロード サンプルファイル (104.1 KB)
RemixはReactでシングルページアプリケーションを構築する際に定番のルーティングライブラリである、React Routerを元にして生み出されたフレームワークです。そのため、画面の定義や遷移については現場で叩き上げられた実践的なAPIが揃っています。今回はRemixのルーティングに関するAPIを解説していきます。
対象読者
- Reactの基本を修めている方
- 通信回線が弱いユーザーにも高速に表示できるサイトを作りたいエンジニア
- WebブラウザとNode.jsという異なるランタイムをそれぞれキャッチアップするのが辛くなってきたエンジニア
前提環境
筆者の検証環境は以下の通りです。
- macOS Sonoma 14.0
- Node.js 20.8.0
- NPM 10.1.0
- Remix 2.1.0
Webサイトとルーティング
Webサイト制作やアプリケーションのフレームワークに欠かせない機能のひとつとして、ページ遷移に関する機能を挙げる方は多いと思います。この機能は、ページへの経路(=ルート、route)を定義することから、一般的にルーティングと呼ばれています。
もちろん、ビジネス上の関心としてはページの中身であるコンテンツの比重が高くなるのですが、技術的な関心としてはルーティングは決して軽いものではありません。
Remixの開発チームは、元々はReact Routerというルーティングライブラリを開発していました。シングルページアプリケーション上で利用するもので、サーバーとの通信を伴わずに、ブラウザ上で画面やURL表示を切り替える機能を持っていました。Reactによるシングルページアプリケーションの開発の現場においては、デファクトスタンダードと呼べる立場となり、現場で叩き上げられたライブラリとなっています。
その魂を引き継いだRemixというフレームワークにとっても、ルーティングは重大な関心ごとで、内部のルーティング実装はReact Routerによって行われています。Remixの最大の特長は、そのルーティングと通信を高度に統合した開発体験を提供していることです。前回は通信について解説したので、今回はルーティングについて解説します。また、レイアウトと呼ばれる機能もルーティングと密接に関わっているため、併せて解説します。
本連載を追いかけてくださっている方への注意点として、第2回、第3回ではRemix v1のルーティング機能を前提として解説していましたが、今回から解説するRemix v2では、ファイルとフォルダの使い方が変わっています。最新版の create-remix を利用してプロジェクトを作成した場合は、本記事以降を参考にしてルーティング機能を利用してください。
この記事は参考になりましたか?
- この記事の著者
-
WINGSプロジェクト 中川 幸哉(ナカガワ ユキヤ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
