React native,如果值为null,如何不从API调用该值



在我的这个API中我想从推荐的配置中获取值,但有些值为空,所以我的应用程序给了我一个错误:

null不是对象

这是我的代码:

let page1 = this.state.dataSource1.map((val, key) => {
// if (val.platforms[0].requirements_en.minimum != null) {
// }
return (
{val.platforms[0].requirements_en.recommended ==! null ?
<Text style={styles.name}>minimal configuration : {val.platforms[0].requirements_en.recommended}</Text>
:
<Text>Nothing</Text>
}
)
})

我想说的是,如果值不为null,请将数据发送给我,否则将是一个简单的文本,但它不起作用。。。

您的代码中有一些问题。

首先,您正在返回一个对象,但没有指定键
因此,您需要添加一个,或者这很可能是一个错误,您需要删除return中的大括号。

其次,您有一个打字错误==!而不是!==

第三,关于您的问题,您需要检查API返回的每个元素是否都存在可选的链接运算符,如:val?.platforms[0]?.requirements_en?.recommended
若要对此进行进一步扩展,如果?.之前的部分是nullundefined,则可选链接运算符将返回undefined
在您的情况下,有时requirements_en为空,因此您会出现错误。

let page1 = this.state.dataSource1.map((val, key) => {
return val?.platforms[0]?.requirements_en?.recommended ? (
<Text key={key}>
minimal configuration: {val.platforms[0].requirements_en.recommended}
</Text>
) : (
<Text>Nothing</Text>
)
})

相关内容

  • 没有找到相关文章

最新更新