Я написал этот код для создания формы входа с использованием formik
и yup
. Теперь я пытаюсь обработать ошибку при входе в систему API
, но не нашел полезного примера или руководства. Существует универсальный метод обработки всех возможных ошибок API на основе полей, определенных в полях initialValues компонентов Formik
или схемы yup
?
Это мой собственный InputText
, который просто обрабатывает yup
ошибка:
export default function InputText({fieldName, noTop, ...props}) {
const [field, meta] = useField(fieldName);
return (
<React.Fragment>
<TextInput
style={[styles.input, {marginTop: noTop ? 0 : 20}]}
value={field.value}
onChangeText={field.onChange(fieldName)}
onBlur={field.onBlur(fieldName)}
{...props}
/>
{meta.error && meta.touched && (
<Text style={styles.error}>{meta.error}</Text>
)}
</React.Fragment>
);
}
И это код формы Login
:
<Formik
validationSchema={loginValidator}
initialValues={{
username: '',
password: '',
}}
onSubmit={ async (values) => login(JSON.stringify(values)) }
>
<LoginBody/>
</Formik>
LoginBody
- это тело формы входа, которое создается с использованием useFormikContext()
. Он содержит два InputText
: username
, password
; и button
это, onPress
вызов submitForm
.