重定向文档

redirectDocument

这是一个围绕 redirect 的小型包装器,它将触发到新位置的文档级重定向,而不是客户端导航。

当您在同一域上拥有一个 Remix 应用与一个非 Remix 应用并排存在,并且需要从 Remix 应用重定向到非 Remix 应用时,这将非常有用。

import { redirectDocument } from "@remix-run/node"; // or cloudflare/deno

export const action = async () => {
  const userSession = await getUserSessionOrWhatever();

  if (!userSession) {
    // Assuming `/login` is a separate non-Remix app
    return redirectDocument("/login");
  }

  return json({ ok: true });
};

就像 redirect 一样,它接受状态码或 ResponseInit 作为第二个参数。

redirectDocument(path, 301);
redirectDocument(path, 303);
redirectDocument(path, {
  headers: {
    "Set-Cookie": await commitSession(session),
  },
});
文档和示例根据以下许可证授权 MIT