useFormAction
declare function useFormAction(
action?: string,
{ relative }: { relative?: RelativeRoutingType } = {}
): string;
此钩子在 <Form>
中内部使用,以自动将默认和相对操作解析为上下文中的当前路由。虽然不常见,但您可以直接使用它来执行诸如计算 <button formAction>
的正确操作以更改按钮的 <Form>
的操作。 (是的,HTML 按钮可以更改其表单的操作!)
import { useFormAction } from "react-router-dom";
function DeleteButton() {
return (
<button
formAction={useFormAction("destroy")}
formMethod="post"
>
Delete
</button>
);
}
它也适用于自动解析 submit
和 fetcher.submit
的操作。
let submit = useSubmit();
let action = useFormAction();
submit(formData, { action });