JavaScript の無効化
サイトのページを見て、「なぜこんなに JavaScript を読み込んでいるんだ? このページにはリンクしかないのに!」と思ったことはありませんか? JavaScript フレームワークとしては少し奇妙に思えるかもしれませんが、ブール値を使って JavaScript を簡単にオフにすることができます。データの読み込み、リンク、さらにはフォームも引き続き機能します。
私たちがどのように行うかをご紹介します。
JavaScript を含めるルートモジュールを開き、「ハンドル」を追加します。これは、親ルートにルートに関するメタ情報を提供する方法です(後ほど説明します)。
次に、root.tsx
を開き、useMatches
を読み込み、以下を追加します。
データの読み込みはすべてサーバー側のレンダリングで動作し、<Link>
はすべて <a>
に変換されてレンダリングされるため、引き続き機能します。
どのページでも、いつでも、プレーン HTML と完全なクライアント側の遷移を切り替えることができます。
ほんの少しのインタラクティブ機能が必要な場合は、<script dangerouslySetInnerHTML>
を使用します。