unstable_data

これは、Single Fetch と共に使用するユーティリティで、ステータスコードまたはカスタムレスポンスヘッダーを伴う生データを返します。これにより、カスタムステータス/ヘッダーを提供するためにデータを Response インスタンスにシリアル化する必要がなくなります。これは、一般的に Single Fetch 以前の jsonjson または deferdefer を使用した loader / action 関数の代替です。

import { unstable_data as data } from "@remix-run/node"; // または cloudflare/deno
 
export const loader = async () => {
  return data(
    { not: "coffee" },
    {
      status: 418,
      headers: {
        "Cache-Control": "no-store",
      },
    }
  );
};

カスタムステータス/ヘッダーを返す必要がない場合は、この関数を使用しないでください。その場合は、データを直接返してください。

export const loader = async () => {
  // ❌ 悪い
  return data({ not: "coffee" });
 
  // ✅ 良い
  return { not: "coffee" };
};