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
如果 ?.
之前的部分是 null
或 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>
)
})
在我这个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
如果 ?.
之前的部分是 null
或 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>
)
})