首页 > 解决方案 > 提交后立即调用 Redux Form UPDATE_SYNC_ERRORS

问题描述

我用 Redux Form 制作了一个登录表单,当我提交表单时,我发出一个 POST 请求来验证电子邮件和密码。如果组合不正确,我会抛出一个新的 SubmissionError,但是这个 SubmissionError 会被UPDATE_SYNC_ERRORSRedux Form 的调用立即删除。

我的 LoginForm 组件:

const LoginForm = ({ error, handleSubmit, authenticateUser }) => ( 
    <form onSubmit={handleSubmit(authenticateUser)}>
        <Field 
            name="email"
            component={RenderField}
            type="email"
            label="email"
            validate={[required, minLength(3), email]}
        />
        <Field 
            name="password"
            component={RenderField}
            type="password"
            label="password"
            validate={[required]}
        />
        {error && <strong>{error}</strong>}
        <div className="login__action__container">
            <button className="login__submit" type="submit">Submit</button>
            <NavLink className="login__link" to="/register">Or register</NavLink>
        </div>
    </form>
)

AuthenticateUser 操作:

export const authenticateUser = values => dispatch => {
return axios.post('./api/user/login', {
    email: values.email,
    password: values.password
})
.then((response) => {
     // Does stuff
})
.catch((error) => {
    throw new SubmissionError({_error: error.response.data.error})
})

展示 Redux 状态和操作的图片

过去几个小时我一直在修复错误,但仍然没有结果。有金头的人吗?提前致谢!

标签: reactjsreduxreact-reduxredux-formreact-redux-form

解决方案


推荐阅读