React native,如果一个值为null,如何不从API调用它?

m4pnthwp  于 2023-08-07  发布在  React
关注(0)|答案(1)|浏览(94)

在我的this API中,我想从推荐的配置中获取值,但有些值为null,所以我的应用程序给了我一个错误:
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>
        }
    )
})

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

uidvcgyl

uidvcgyl1#

你的代码中有一些问题。
首先,你返回了一个对象,但你没有指定一个键。
因此,您要么需要添加一个,要么更有可能这是一个错误,您需要删除return中的花括号。
第二,你得到了一个错字==!而不是!==
第三,关于你的问题,你需要检查API返回的每个元素是否存在可选的链接操作符,如下所示:val?.platforms[0]?.requirements_en?.recommended
为了对此进行扩展,如果?.之前的部分是nullundefined,则可选的链接运算符将返回undefined
在你的例子中,有时requirements_en是null,这就是为什么你得到错误的原因。

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

字符串

相关问题