【问题标题】:Ternary operator is not working correctly三元运算符无法正常工作
【发布时间】:2021-02-06 18:02:23
【问题描述】:

如果状态为空,我需要显示"N/A",否则我需要解析我状态中的数据,但现在我的三元运算符不起作用=>如果列表为空,则什么都没有完全显示(而不是"N/A")。

 useEffect(() => {
    const fetchData = async () => {
      const proxyurl = "https://cors-anywhere.herokuapp.com/";
      const url =
        "https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5";
      try {
        const result = await axios(proxyurl + url, {
          headers: {
            Origin: "https://api.privatbank.ua/",
          },
        });
        const data = result.data.filter((item) => item.ccy !== "BTC");
        setRateList(data);
      } catch {
        console.log("Can’t access " + url + " response. Blocked by browser?");
      }
    };
    fetchData();
  }, []);




  <div className={css["currency__rate_content"]}>
    {rateList.map((item) => (
      <ul className={css["currency__rate_content_list"]} key={item.ccy}>
        <li className={css["currency__rate_content_list_item"]}>
          {item.ccy === "RUR" ? "RUB" : item.ccy}
        </li>
        <li className={css["currency__rate_content_list_item"]}>
          {rateList.length ? parseFloat(item.buy).toFixed(2) : "N/A"}
        </li>
        <li className={css["currency__rate_content_list_item"]}>
          {rateList.length ? parseFloat(item.sale).toFixed(2) : "N/A"}
        </li>
      </ul>
    ))}
  </div>

【问题讨论】:

  • 如果 rateList 为空,则没有要映射的 item 迭代。 Turnaries 甚至不会被评估。

标签: reactjs react-hooks


【解决方案1】:

如果您展示您所在州的示例,我可能会提供更好的答案,但您尝试过吗?

{rateList === '' ? 'N/A' : parseFloat(item.buy).toFixed(2)}

【讨论】:

    猜你喜欢
    • 2021-09-02
    • 2019-08-09
    • 1970-01-01
    • 2020-02-27
    • 2015-11-27
    • 2015-04-25
    • 1970-01-01
    • 2015-10-07
    • 2020-09-16
    相关资源
    最近更新 更多