三元运算符无法正常工作
Posted
技术标签:
【中文标题】三元运算符无法正常工作【英文标题】: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 甚至不会被评估。
【参考方案1】:
如果您展示您所在州的示例,我可能会提供更好的答案,但您尝试过吗?
rateList === '' ? 'N/A' : parseFloat(item.buy).toFixed(2)
【讨论】:
以上是关于三元运算符无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章