React native,如果 API 为 null,如何不调用它?

React native, How to not call a value from an API if it is null?

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

这是我的代码:

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>
        }
    )
})

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

您的代码中存在一些问题。

首先,您正在 return 创建一个对象,但没有指定键。
所以你要么需要添加一个,要么更可能这是一个错误,你需要删除 return.

中的大括号

其次,您打错了 ==! 而不是 !==

第三,关于您的问题,您需要检查每个由 API 编辑的元素 return 是否存在可选的链接运算符,如下所示:val?.platforms[0]?.requirements_en?.recommended
为了对此进行扩展,可选的链接运算符将 return undefined 如果 ?. 之前的部分是 nullundefined.
在您的情况下,有时 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>
  )
})