【问题标题】:React Inline Condition反应内联条件
【发布时间】:2022-01-12 22:26:33
【问题描述】:

我在为我的运费设置内联条件时遇到问题:

cart.shippingPrice =
  country === ("France" || "United States") ? toPrice(20) : toPrice(10);

只有当我选择法国时条件返回20,但我希望美国也返回它,是否有错字?

【问题讨论】:

  • ("France" || "United States" ) 首先评估,然后变成“法国”。你需要检查country === "France" || country === "United States
  • 谢谢,它有效

标签: javascript reactjs redux


【解决方案1】:

在您的表达式和有问题的内容中,如果它返回 20,则表示条件为 true

试试:

cart.shippingPrice = (country === "France" || country === "United States) ? toPrice(20) : toPrice(10)

【讨论】:

    【解决方案2】:

    您需要明确检查每个国家/地区:

    country === "France" || country === "United States"
    

    如果您“担心”更多国家/地区会出现在列表中,您可以创建一个数组:

    const countries = ["France", "United States"]
    

    然后做

    countries.includes(country)
    

    【讨论】:

    • array的好建议
    • 这个很好,谢谢!
    猜你喜欢
    • 2019-08-05
    • 2015-11-20
    • 1970-01-01
    • 2018-09-08
    • 2012-01-23
    • 2017-06-27
    • 1970-01-01
    • 2016-01-19
    • 2017-12-11
    相关资源
    最近更新 更多