[英]Why is my code executing on every switch case instead of breaking?
[英]Every IF statement is not executing in my React code
我正在 React 中编写表单验证脚本,但在 function 中我放置了多个 if 语句。 所有应该执行的 if/else 语句,但只有最后的 if 语句正在执行。 我究竟做错了什么? 请帮忙。 我提供了下面的代码。
const onSubmitHandle = () => {
if (name.length===0) {
setErr ({ ...err,
nameText:'Please enter name'
})
} else {
setErr ({ ...err,
nameText:''
})
};
if (number.length<=5) {
setErr ({ ...err,
numberText:'Please enter a valid number'
})
} else {
setErr ({ ...err,
numberText:''
})
};
if (email.length===0) {
setErr ({ ...err,
emailText:'Please enter email'
})
} else {
setErr ({ ...err,
emailText:''
})
};
if(err.emailText.length===0 && err.nameText.length===0 && err.serviceText.length===0 && err.budgetText.length===0 && err.numberText.length===0) {
alert('Your request is succesfully submited. We will reach you soon')
setName('');
setService('');
setBudget('');
setNumber('');
setEmail('');
};
}
请帮忙
因此,您似乎错误地传播了 err 变量,我认为您想要的是:
setErr ({
err:{
...err,
emailText:'yadayadayada'
}
})
通过这样做,您可以使用旧属性创建一个新的 var err,并且仍然添加一个您想要的新属性(阅读扩展运算符)并且您在这个示例中是对的,因为您想要运行所有验证,所以不需要返回
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.