Reactjs 如果响应时data.length>0,则无法更改
我正在做一个React原生项目,在那里我查询一个搜索短语。 但是,在我的条件语句中,无论数组中是否包含数据,我都不是空的。我做错了什么 以下是第一个数组,如果它找到了匹配的服务器端查询:Reactjs 如果响应时data.length>0,则无法更改,reactjs,react-native,native,Reactjs,React Native,Native,我正在做一个React原生项目,在那里我查询一个搜索短语。 但是,在我的条件语句中,无论数组中是否包含数据,我都不是空的。我做错了什么 以下是第一个数组,如果它找到了匹配的服务器端查询: [ { "document": { "name": "projects/warrenty-7707e/databases/(default)/documents/users/HBC/warrentycard/d4XgBWIywU6K2fZ7ix0j",
[
{
"document": {
"name": "projects/warrenty-7707e/databases/(default)/documents/users/HBC/warrentycard/d4XgBWIywU6K2fZ7ix0j",
"fields": {
"comment": {
"stringValue": ""
},
"model": {
"stringValue": ""
},
"createDate": {
"timestampValue": "2019-06-27T11:04:47.031Z"
},
"product": {
"stringValue": ""
},
"exp_date": {
"stringValue": ""
},
"plate": {
"stringValue": ""
},
"email": {
"stringValue": ""
},
"name": {
"stringValue": ""
}
}
}
}
]
如果不匹配,这里是数组:
[
{}
]
不管怎样,在下面的条件中,我只得到不为空的返回给我。有什么想法吗
if (this.state.serverData.length > 0) {
return (
<View>
<Text>Not empty</Text>
</View>
)
} else {
<View>
<Text>empty</Text>
</View>
} ```
问题是,即使没有搜索结果,从服务器获得的结果数组也不是空的 您可以检查数据的长度是否不是您正在执行的0,以及第一个对象是否不是空的
if (this.state.serverData.length > 0 && Object.keys(this.state.serverData[0]).length !== 0 ) {
return (<View>
<Text>Not empty</Text>
</View>
)
}
return (<View>
<Text>empty</Text>
</View>);
问题是,即使没有搜索结果,从服务器获得的结果数组也不是空的 您可以检查数据的长度是否不是您正在执行的0,以及第一个对象是否不是空的
if (this.state.serverData.length > 0 && Object.keys(this.state.serverData[0]).length !== 0 ) {
return (<View>
<Text>Not empty</Text>
</View>
)
}
return (<View>
<Text>empty</Text>
</View>);
什么是问题/问题?if函数总是返回Not empty什么是问题/问题?if函数总是返回Not empty