如果在 React Native 中
2021-03-05
279
我是 React Native 的新手。我创建了一个屏幕,在其中使用 if else 函数,如下所示。
constructor(props) {
super(props);
this.state={
phpid = ''
}
}
validateInputs = (event) => {
const data = this.props.route.params.data
const { phpid } = this.state;
if (data.retail_information_data[0] != '') {
phpid == data.retail_information_data[0].id
}else{
phpid == null
}
AsyncStorage.multiGet(["application_id", "created_by"]).then(response => {
console.log(phpid)
fetch('https://njdnfech/Android_API_CI/uploaddata/tffmerchant_retail_details?query=', {
body: JSON.stringify([{phpid : phpid}])
})
.then((returnValue) => returnValue.json())
.then(function(response) {
console.log(response)
return response.json();
}
但我得到的是 = data.retail_information_data[0] = null 或可以说为空 然后根据 if else,我的 else 条件是 'phpid == null' 应该运行 但即使 'data.retail_information_data[0] = null' 我的 else 条件没有运行,我的控制台仍然显示 'TypeError:undefined 不是对象(评估 'data.retail_information_data[0].id')' 我的 if else 中有什么问题吗,或者如何编写正确的 if else
2个回答
下面应该可以工作...
if (data && data?.retail_information_data.length) {
this.setState(phpid: data?.retail_information_data[0]?.id)
}else{
this.setState(phpid: null)
}
Sourav Dey
2021-03-05
尝试使用三元运算符。 php id = data.retail information data[0] ? data.retail_information_data[0].id : null
SUHEL MAKKAD
2021-03-05