TanStack Form is headless and it should support React Native out-of-the-box without needing any additional configuration.
Here is an example:
<form.Field
name="age"
validators={{
onChange: val => val < 13 ? "You must be 13 to make an account" : undefined
}}
>
{field => (
<>
<Text>Age:</Text>
<TextInput value={field.state.value} onChangeText={field.handleChange} />
{
field.state.meta.errors
? <Text>{field.state.meta.errors.join(', ')}</Text>
: null
}
</>
)}
</form.Field>
<form.Field
name="age"
validators={{
onChange: val => val < 13 ? "You must be 13 to make an account" : undefined
}}
>
{field => (
<>
<Text>Age:</Text>
<TextInput value={field.state.value} onChangeText={field.handleChange} />
{
field.state.meta.errors
? <Text>{field.state.meta.errors.join(', ')}</Text>
: null
}
</>
)}
</form.Field>
Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.