首页 > 解决方案 > 如何检查数据是否存在以呈现结果?

问题描述

这是我的代码:XXXXXX 抱歉,不再可用的代码将很快包含在内。

我想要发生的是,当我单击一个按钮时,每个对象的“索引”都会像这样传递:

const priceShown = product[evenIndex].price;

但是当页面加载时我得到一个错误说price是未定义的:(

我知道这与尚不存在的数据有关(我不知道为什么会这样,所以如果您也能解释一下,这也将是一个很大的好处!)。

priceShown在我写这个之前检查数据是否存在:

if (evenIndex !== null) {
  return evenIndex;
} else {
   console.log('no data');
}; 

这总是返回语句的一部分,因为除非您单击按钮,否则您no data无法传递索引( ),所以总是未定义?除非由于另一个我不知道的原因而未定义。evenIndexprice

有什么帮助吗?

标签: javascriptreactjs

解决方案


您可以先检查是否product[evenIndex]已设置,然后取出是否已设置price。这样,在选择索引之前不会呈现价格。

const priceShown = product[evenIndex] && product[evenIndex].price;

推荐阅读