我正在使用功能组件使用基本 if 语句在 React 中打印出一些数据
import React from 'react'
export default function Weather (props) {
let obj = props.data
if(obj === undefined || {}) {
console.log(obj) <---returns desired object
return <div>Enter in a city, zipcode, or address</div>
} else {
console.log(obj) <-- returns undefined
return<div>
<p>{obj.minutely.summary}</p>
<p>{obj.currently.temperature}</p>
<p>{obj.currently.humidity}</p>
<p>{obj.currently.windSpeed}</p>
<p>{obj.currently.uvIndex}</p>
<p>{obj.currently.precipProbability}</p>
</div>
}
}
if语句的逻辑是这样的:如果数据是undefined
打印出来的,指示输入地址,否则打印数据。
令人困惑的是,正在发生的事情是 if 语句似乎忽略了条件,因为
if(obj === undefined || {}) {
console.log(obj)
return <div>Enter in a city, zipcode, or address</div>
}
这console.log
将返回我的所有数据,即使它只在对象未定义时才应该运行。
第二个 if 语句甚至没有打印出来。我试过切换两者,所以它看起来像这样:
if(obj !== undefined || {}) {
return<div>
<p>{obj.minutely.summary}</p>
<p>{obj.currently.temperature}</p>
<p>{obj.currently.humidity}</p>
<p>{obj.currently.windSpeed}</p>
<p>{obj.currently.uvIndex}</p>
<p>{obj.currently.precipProbability}</p>
</div>
} else {
return <div>Enter in a city, zipcode, or address</div>
}
但是,因为它正在尝试查找尚未设置的对象,所以它仍然在第一个 if 语句处停止,并且响铃为未定义(尽管这是预期的)
有什么建议么?