Renders a group element for form controls. The FormGroupLabel component can be used inside this component so the aria-labelledby prop is properly set on the group element.

Code examples

const form = useFormStore({
username: "",
email: "",
<Form store={form}>
<FormLabel name={form.names.username}>Username</FormLabel>
<FormInput name={form.names.username} />
<FormLabel name={}>Email</FormLabel>
<FormInput name={} />

Optional Props


RenderProp<React.HTMLAttributes<any> & { ref?: React.Ref<any> | undefined; }> | React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined

Allows the component to be rendered as a different HTML element or React component. The value can be a React element or a function that takes in the original component props and gives back a React element with the props merged.

Check out the Composition guide for more details.


FormStore<FormStoreValues> | undefined

Object returned by the useFormStore hook. If not provided, the closest Form or FormProvider components' context will be used.

Stay tuned

Join 1,000+ subscribers and receive monthly tips & updates on new Ariakit content.

No spam. Unsubscribe anytime. Read latest issue