首页 > 解决方案 > JSON 数据返回未定义

问题描述

在我的反应应用程序中,我正在做一个简单的 JSON 数据控制台日志,这些数据来自我正在处理的应用程序的后端。

当我控制台记录数据的主体时

console.log('........section2', options2ndSection[2]);

返回以下 JSON 数据:

Object
     item:
     id: 401
     img: "/static/media/A_F1A.05ecb02c.svg"
     label: "ceramic mug"
     __proto__: Object

我创建了一个条件,以便在标签与某个字符串匹配时显示信息:

const jsonData = optionsSecondSection[2]

                {options2ndSection[2].label === 'ceramic mug' && (
                  <div className={style.informationText}>
                    {i18next.t('section.title.information_text')}
                  </div>
                )}

但是,每次我加载页面时,即使标签与预期的字符串匹配,变量也会返回 undefined。我希望如果它没有找到字符串,它不会导致整个应用程序崩溃。有什么想法吗?提前感谢您的任何答案。

标签: javascriptarraysjsonreactjs

解决方案


您正在控制台日志记录optionsSecondSection[2],并且您正在为optionsSecondSection[1].

如果您不希望您的应用程序崩溃,您需要检查您的 jsonData 或optionsSecondSection[2]是否可用。做这样的事情:

{options2ndSection[2] ? <div>
               options2ndSection[2].label === 'ceramic mug' && (
              <div className={style.informationText}>
                {i18next.t('section.title.information_text')}
              </div>
            ) 
            </div> :
            <div>'NA'</div>}

推荐阅读