如果状态为空,则需要显示"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>
答案 0 :(得分:0)
如果您显示自己的状态示例,也许可以提供更好的答案,但是您尝试过吗?
{rateList === '' ? 'N/A' : parseFloat(item.buy).toFixed(2)}