The id of the form element to be submitted.
An object with:
SubmitBtn: A hidden submit button component to be rendered inside the component tree.submitRef: A ref to the internal button element.submit: A function that programmatically triggers the form submission.formId: The id of the form element to be submitted.const { SubmitBtn, submit } = useSubmit('my-form-id');
return (
<>
<form id="my-form-id">...</form>
<SubmitBtn />
<button onClick={submit}>Submit Form</button>
</>
);
export const useSubmit = (formId: string) => {
const submitRef = useRef<HTMLButtonElement | null>(null);
const SubmitBtn: FC = useCallback(() => (
<button
type="submit"
form={formId}
ref={submitRef}
hidden
/>
), [formId]);
const submit = () => {
submitRef.current?.click();
};
return {
SubmitBtn,
submitRef,
submit,
formId
};
};
useSubmit
A React hook that provides an imperatively controlled hidden submit button for a given form. Useful when you need to programmatically submit a form from outside the form context (e.g. from a toolbar or a modal).