[英]Javascript object refers to a value in itself
我有一个表单的状态对象,该对象的每个元素都有其自己的验证器,我需要检查confirmationPassword是否与密码相同,但是我无法引用对象本身内部的密码值,怎么办我解决了吗?
const initalState = {
code: { value: '', error: false, validator: value => value.length > 0 },
email: { value: '', error: false, validator: validators.email },
password: { value: '', error: false, validator: validators.password },
confirmPassword: {
value: '',
error: false,
validator: (password, confirmPassword) => password === confirmPassword,
},
};
我希望上面的代码变成类似
const initalState = {
code: { value: '', error: false, validator: value => value.length > 0 },
email: { value: '', error: false, validator: validators.email },
password: { value: '', error: false, validator: validators.password },
confirmPassword: {
value: '',
error: false,
validator: value => value === this.password.value,
},
};
如您所见,电子邮件和密码验证器是从另一个对象获取的。 在confirmPassword.validator
函数中,我需要将其值与密码之一进行比较,以检查它们是否匹配。 当我调用confirmPassword.validator
,我传递的值是confirmPassword.value
本身,我只需要以某种方式获取password.value
您可以只声明该对象,然后添加其余属性,以这种方式可以引用它。
const initalState = {}; Object.assign(initalState, { code: { value: '', error: false, validator: value => value.length > 0 }, email: { value: '', error: false, validator: initalState.email }, password: { value: '', error: false, validator: initalState.password }, confirmPassword: { value: '', error: false, validator: value => value === this.password.value, }, });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.