三元运算符无法正常工作

时间:2020-10-23 16:33:13

标签: reactjs react-hooks

如果状态为空,则需要显示"N/A",否则需要对状态中存在的数据进行parseFloat运算,但是现在我的三元运算符无法正常工作=>如果列表为空,什么都没有显示(代替"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>

1 个答案:

答案 0 :(得分:0)

如果您显示自己的状态示例,也许可以提供更好的答案,但是您尝试过吗?

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