猿问

为什么三元运算符不处理状态属性

我已经从状态中破坏了“密码”和“retypepassword”属性,现在尝试对它们应用条件,当我使用if和else语句时它的工作完全正常,但是当我使用三元运算符时它不起作用。我已经检查了三元运算符的格式和我写的一样,但现在仍在工作,请让我知道我做错了什么

SubmitHandler = e => {
    e.preventDefault();
    const { password, retypepassword } = this.state;
    // if (password === retypepassword) {
    //   console.log("password not match");
    // } else console.log(this.state);
    password === retypepassword
      ? return(console.log("form submitted"))
      : "password does not match";
  };


守候你守候我
浏览 619回答 2
2回答

犯罪嫌疑人X

要匹配if/else您的行为:console.log(password === retypepassword ? "form submitted" : this.state);

莫回无

三元运算符只能用于为变量赋值,换句话说,你不能将console.log(“something”)赋值给变量。实现此目的的一种方法是将字符串值赋给变量,并将其记录下来。所以在你的情况下,你可以这样做:return password === retypepassword ? "form submitted" : "password does not match"; // and then log it out.
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答