結論
_index.tsxでは/homeへのリダイレクトのみ実装して、/homeで機能の実装を行なう。
import { redirect } from "@remix-run/node";
export const loader = async () => {
return redirect("/home");
};
export default function Index() {
return null;
}
経緯など
作成中のWebアプリで、ホームページに表示させる機能を迷っていて、後で丸ごと変更するかもしれないという状況でした。そのため、_index.tsxにloader関数を実装して、取得したデータを子コンポーネントに渡して~というような実装にすると、後で面倒なことになるかもなと思いこのような実装にしました。
_index.tsxをリダイレクトするだけにしておくことで、ホームページ変更の際はリダイレクト先(もしくはそのファイル)を変えればいいだけなので、メンテナンスが楽になります。
サイトURLをホームページにしたくて、色々小細工をしようとしましたが、_index.tsxとloader関数の仕様上この方法に落ち着きました。
もし、他にいい方法があったらコメントで教えて下さい。