在React Router 6中使用数据路由器我想从操作中重定向用户。但我还需要返回数据。可以同时做这两件事吗?
// redirect works, but no way to send data
export async function routerAction() {
return redirect("/some-url");
}
// should work, but does not
export async function routerAction() {
return new Response(JSON.stringify({ foo: "bar" }), {
status: 302,
headers: {
"Content-Type": "application/json; utf-8",
Location: "/some-url",
},
});
}
在我的组件中,我尝试像这样检索数据:
function SomeComponent() {
let actionData = useActionData(); // unfortunately, actionData is undefined
}
似乎您必须找到不同的方式将数据传递到其他组件。
useActionData()
仅在使用 <Form method="post">
或 useSubmit()
时返回数据