Open soaresgus opened 10 months ago
You have to pass onChange
and value
props to your input
<Controller
control={control}
rules={{
required: true,
}}
render={({ field: { onChange, onBlur, value } }) => (
<Input onBlur={onBlur} onChange={onChange} value={value} label="CEP" {...cepMaskedInputProps} />
)}
name="cep"
/>
I forgot to write on GitHub code but I'm sure I typed
@soaresgus I don't know if you get it or not, but you could use the useController
from react-hooks-form
.
const { control } = useForm<FormData>();
const {field: fieldPhoneNumber} = useController<FormData>({
name: 'phoneNumber',
control,
});
const maskedInputProps = useMaskedInputProps({
value: fieldPhoneNumber.value,
onChangeText: fieldPhoneNumber.onChange,
mask: Masks.BRL_PHONE,
});
<Controller
control={control}
name="phoneNumber"
render={({field, fieldState}) => (
<TextInput
{...maskedInputProps}
/>
)}
/>
The library doesn't work with with react-hook-form (RHF) Controller inputs. I make a lot of tests and the best solution is use a default useState from React. That is my code with RHF:
Perhaps in a future i go up a pull request to fix this.