【问题标题】:2 conditional statements using &&2个使用&&的条件语句
【发布时间】:2019-07-21 15:36:44
【问题描述】:

我有一个登录表单的错误对象,它有一个用户名、密码或两者都有错误。我想在一个 div 中显示所有错误。

我正在使用如下内联逻辑 && 运算符,但不确定如何使用它,因此它也会检查密码是否有错误。所以,我也需要 this.state.errors.password 在那里但不知道如何。

    {this.state.errors.username && (
      <Alert variant="danger">{this.state.errors.username}</Alert>
    )}

我试过了,但是当我应该将密码字段留空时没有显示错误消息

        {this.state.errors.username && this.state.errors.password && (
          <Alert variant="danger">
            {this.state.errors.username} {this.state.errors.password}
          </Alert>
        )}

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    你需要使用 or 运算符而不是 and。

    {(this.state.errors.username || this.state.errors.password) && (
        <Alert variant="danger">
           {this.state.errors.username} {this.state.errors.password}
        </Alert>
    )}
    

    this.state.errors.username && this.state.errors.password 如果你使用 or 运算符,它会呈现错误两个字段都有错误

    this.state.errors.username || this.state.errors.password 如果你使用 or 运算符,它将呈现错误任何字段都有错误。

    【讨论】:

    • 啊,好吧。没有意识到我可以使用 ||反应中的操作员(我是新手)
    • @user10980228 如果有任何语言支持 && for 而不支持 || 我会感到惊讶为或。
    • @phoog,真的。但是 React 是一个真正的头脑......对我来说来自 php/mysql
    • @user10980228 很公平。在学习一门新语言时,即使是非常明显的解决方案也很容易被忽视。
    猜你喜欢
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 2021-01-28
    • 2011-09-12
    • 1970-01-01
    • 2016-06-03
    • 2018-06-18
    • 2022-11-10
    相关资源
    最近更新 更多