Как в Formik послать ошибку, которая возникла на сервере
Есть компонент формы, где я использую шаблонную форму из документации.
Сама логика запроса происходит в другом компоненте, где у меня описаны все запросы. Но как мне передать ошибку при неудачном запросе в Formik ? Учитывая что эти два компонента не связаны между собой.
// Компонент формы
function FormAuth({handleSubmit,handleGuess}) {
return (
<Formik
initialValues={{
login: '',
password: '',
}}
onSubmit={async (values) => {
handleSubmit(values);
}}
>
<Form className="row flex-column justify-content-center align-items-center" >
<div className="col-7">
<div className="input-group">
<div className="input-group-text"><i> <BsFillPersonFill /> </i></div>
<Field id="login" name="login" placeholder="Login" className="form-control"/>
</div>
</div>
<div className="col-7">
<div className="input-group">
<div className="input-group-text"><i className="bi bi-key-fill"><BsFillLockFill /></i></div>
<Field id="password" name="password" type="password" placeholder="Password" className="form-control"/>
</div>
</div>
<div className="action-form col-6 text-center">
<button className="action-btn" type="submit" id="regJoin">Отправить</button>
<b onClick={handleGuess} >Войти как гость</b>
</div>
</Form>
</Formik>
)
}
// Логика запроса в другом компоненте
login(obj,token) {
debugger;
return instance.post(`authentication/token/validate_with_login?api_key=${apiKey}`,{
username:obj.login,
password:obj.password,
request_token:token
}).then((response)=>{
return response.data
}).catch((err)=>{
console.log("ОШИБКА");
})
}