useForm API Reference
The following references can be used to create a FormLogic
instance in the React context.
useForm
This is the main entry point for the React bindings. It creates a new Form based on the provided options.
ts
declare function useForm<
TData,
TAdapter extends ValidatorAdapter | undefined = undefined,
>(
options?: FormLogicOptions<TData, TAdapter>,
): FormContextType<TData, TAdapter>;
An example of the usage:
tsx
import { useForm } from '@formsignals/form-react';
export default function App() {
const form = useForm({
defaultValues: {
name: '',
email: '',
},
onSubmit: (values) => {
console.log(values);
},
});
// ...
}
useFormWithComponents
This is a convenience hook, that turns a FormLogic
instance into a FormContextType
instance.
ts
declare function useFormWithComponents<
TData,
TAdapter extends ValidatorAdapter | undefined = undefined,
>(form: FormLogic<TData, TAdapter>): FormContextType<TData, TAdapter>;
An example of the usage:
tsx
import { useForm, FormLogic } from '@formsignals/form-react';
const logic = new FormLogic({
defaultValues: {
name: '',
email: '',
},
onSubmit: (values) => {
console.log(values);
},
});
export default function App() {
const form = useFormWithComponents(logic);
// ...
}
INFO
This is very useful if you want to keep the FormLogic
instance separate from the frontend logic. This is possible thanks to the @preact/signals-react
bindings.