コンテンツにスキップ

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),
},
});