Javascript 将变量声明为多个状态值
可能是个很基本的问题,但我想不出来。我有一个表单,它使用以下变量作为状态,返回true/false:Javascript 将变量声明为多个状态值,javascript,reactjs,Javascript,Reactjs,可能是个很基本的问题,但我想不出来。我有一个表单,它使用以下变量作为状态,返回true/false: ccValid, dateValid, cvvValid, nameValid, addressValid 我想要一个等于所有这些的变量 前 您可以将所有这些变量存储在状态中的单个对象中。比如说, 类FormComponent扩展了React.Component{ 建造师(道具){ 超级(道具); 此.state={ 验证:{ ccValid:false, dateValid:false, c
ccValid, dateValid, cvvValid, nameValid, addressValid
我想要一个等于所有这些的变量
前
您可以将所有这些变量存储在状态中的单个对象中。比如说,
类FormComponent扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
验证:{
ccValid:false,
dateValid:false,
cvvValid:false,
nameValid:false,
addressValid:false,
}
}
}
}
例如,当需要访问每个变量时,可以从状态中分解validations
属性
const{validations}=this.state;
//您可以访问validations.ccValid、validations.dateValid等。
让我知道这是否解决了问题,或者您正在寻找完全不同的东西。如果您的意思是想要一个可以随时读取的
布尔
变量来了解表单的当前有效性状态,定义为表单的属性ccValid
,dateValid
,cvvValid
,nameValid
和addressValid
都等于true
,您可以在表单中添加getter
:
Object.defineProperty(形式为'valid'{
get:function(){返回this.ccValid&&this.dateValid&&this.cvvValid&&this.nameValid&&this.addressValid;}
});
console.log(form.valid);//始终记录当前窗体状态
const formValid = {ccValid, dateValid, cvvValid, nameValid, addressValid} = this.state