Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在redux表单中显示提交错误_Javascript_Reactjs_Error Handling_Redux_Redux Form - Fatal编程技术网

Javascript 无法在redux表单中显示提交错误

Javascript 无法在redux表单中显示提交错误,javascript,reactjs,error-handling,redux,redux-form,Javascript,Reactjs,Error Handling,Redux,Redux Form,我试图在我的表单中显示提交错误,但我不明白为什么这不起作用。当我试图提交有错误的表单时,控制台中只会出现一个简单的错误,并且无法再次提交,尽管按钮已启用,并且表单中未显示任何错误 未兑现(承诺) const validate=values=>{ 常量错误={} const requiredFields=['电子邮件','密码'] requiredFields.forEach(字段=>{ 如果(!值[字段]){ 错误[field]=“Pole wymagane” } }) 如果(values.em

我试图在我的表单中显示提交错误,但我不明白为什么这不起作用。当我试图提交有错误的表单时,控制台中只会出现一个简单的错误,并且无法再次提交,尽管按钮已启用,并且表单中未显示任何错误

未兑现(承诺)

const validate=values=>{
常量错误={}
const requiredFields=['电子邮件','密码']
requiredFields.forEach(字段=>{
如果(!值[字段]){
错误[field]=“Pole wymagane”
}
})
如果(values.email&&!/^[A-Z0-9.\%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}$/i.test(values.email)){
errors.email='Podany adres jest nieprawidłowy'
}
返回错误
}
函数提交(值、分派){
返回新承诺((解决、拒绝)=>{
分派(actionCreators.loginUser(values.email,values.password))
.catch(错误=>{
拒绝(错误)
})
})
}
类LoginForm扩展组件{
建造师(道具){
超级(道具);
//this.onSubmit=this.onSubmit.bind(this);
}
render(){
const{error,handleSubmit,pristine,reset,submiting}=this.props
返回(
{error&&{error}}

重置
) } } reactMixin(LoginForm.prototype,LinkedStateMixin); 常量mapStateToProps=(状态)=>{ 返回{ 用户:state.user.user, isAuthenticated:state.user.isAuthenticated } } //const mapDispatchToProps=(调度)=>{ //返回{ //操作:bindActionCreators(actionCreators,调度) // } // } const form=reduxForm({ 表单:“LoginForm”, 验证 提交:提交 })(LoginForm); 导出默认连接(MapStateTops)(表单);
一瞥,在
submit()
函数中有一些未捕获的错误(如日志所示…)

这是因为Redux表单只捕获其他简单错误,而不捕获其他简单错误

因此,解决方案是自己处理错误(例如,在拒绝实现或catch块中调度submissionFailed操作)

例如:

function submit(values, dispatch) {
    return new Promise((resolve) => {
        dispatch(actionCreators.loginUser(values.email, values.password))
        .catch( err => {
            //reject(err)
            dispatch(someNewErrorAnouncingAction(err))
        })
    })
}

正如它所看到的,在
submit()
函数中有一些未捕获的错误(如日志所示…)

这是因为Redux表单只捕获其他简单错误,而不捕获其他简单错误

因此,解决方案是自己处理错误(例如,在拒绝实现或catch块中调度submissionFailed操作)

例如:

function submit(values, dispatch) {
    return new Promise((resolve) => {
        dispatch(actionCreators.loginUser(values.email, values.password))
        .catch( err => {
            //reject(err)
            dispatch(someNewErrorAnouncingAction(err))
        })
    })
}

你找到解决办法了吗?我也想看到解决办法。你找到解决办法了吗?我也想看到解决办法。