На что заменить stopSubmit из Redux Form в Formik?

Подскажите пожалуйста на что можно заменить stopSubmit(form:String, errors:Object) в Formik?
Есть какие либо аналоги?

Мне нужно переписать этот код на Formik, заранее спасибо

import {stopSubmit } from 'redux-form'
   dispatch(stopSubmit('login', { _error: message }))
  • Вопрос задан
  • 813 просмотров
Пригласить эксперта
Ответы на вопрос 1
@georgeBushJn
Вам, наверное, больше не нужно. Но можете кому-то поможет.

Есть setStatus, можете почитать про него, я только немного объясню. Он работает немного по-другому, т.к. formik не создаёт form в redux. В методе onSubmit в formik добавляете setStatus в нужную функцию. Типа такого:

onSubmit: (values, submitProps) => {
            let formData = {
                email: values.email,
                password: values.password,
                rememberMe: values.checkbox,
            }
            props.onSubmit(formData, submitProps.setStatus)
            submitProps.resetForm()
        }


Я использую thunk для api и там вызываю setStatus для передачи ошибки

export const login = (loginData, setStatus) => {
    return (dispatch) => {
        authAPI.login(loginData)
            .then(data => {
                if(data.data.resultCode === 0) {
                    dispatch(authMe(true))
                } else {
                    setStatus({error: data.data.messages})
                }
            })
    }
}


И затем можно обращаться в самой форме за статусом.
formik.status.error
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы