Пожалуйста, как я могу написать эту функцию с Ifs, чтобы иметь соответствующий оператор else.
Я пытаюсь добавить оператор else для каждого оператора if
Пожалуйста, посмотрите мой код ниже.
validate = (lname, fname, email, eid) => {
if (lname) {
this.setState({
validationState: {
...this.state.validationState,
lastname: false,
},
});
}
if (fname) {
this.setState({
validationState: {
...this.state.validationState,
firstname: false,
},
});
}
if (helpers.isEmail(email)) {
this.setState({
validationState: {
...this.state.validationState,
email: false,
},
});
}
if (eid) {
this.setState({
validationState: {
...this.state.validationState,
eid: false,
},
});
}
}
Я имею в виду, что каждый оператор if должен иметь соответствующий оператор else, независимый от другого.
Вам нужен блок else
, в котором fname
не имеет значения?
независимый звучит как: if (lname) {} else {}, if (fname) {} else {} и т. д. Но я уверен, что вы не это имеете в виду ...
вы должны использовать if (первое условие) {Сделать что-нибудь} else if (второе условие) {Сделать что-нибудь} else if {(третье условие) {Сделать что-нибудь} else (если ни одно условие не выполнено) {Сделать что-нибудь}
@Yossi точно. Проблема, с которой я столкнулся, заключается в том, что else for fname влияет на lname.
так мой нынешний подход не сработает? или я могу использовать для этого оператор switch?
@jasonscript yes, а оператор else для fname не должен быть независимым от lname
Далее проверяется lname, выполняется либо предложение if, либо предложение else, затем, независимо от того, что произошло до сих пор, проверяется fname и т. д. Это то, что вы искали?
validate = (lname, fname, email, eid) => {
if (lname) {
this.setState({
validationState: {
...this.state.validationState,
lastname: false,
},
});
} else {
....
}
if (fname) {
this.setState({
validationState: {
...this.state.validationState,
firstname: false,
},
});
} else {
....
}
if (helpers.isEmail(email)) {
this.setState({
validationState: {
...this.state.validationState,
email: false,
},
});
} else {
...
}
if (eid) {
this.setState({
validationState: {
...this.state.validationState,
eid: false,
},
});
} else {
...
}
}
Не уверены, что вы имеете в виду в слове «не должно влиять на других»? Объясните пожалуйста?