使用外部API,根据要求我得到带有错误的对象或带有当前和预测的对象。
对象{error}
对象{current,forecast}。
我想根据我得到的对象来设置State。我试过这个:
setFetchWeather = data => {
const newState = data.hasOwnProperty(data.error) ? {data:[], error:true,loading: false} : {data: data.forecast, error:false, loading:false}
this.setState(newState);
}
然后
{this.state.error ? <span>Error</span> : <span>Not an Error</span>}
;
得到这样的错误:
Cannot read property 'forecastday' of undefined
我喜欢的是当对象包含当前和预测时收到消息&#34;不是错误&#34;当对象包含错误时,得到一个消息&#34;错误&#34;。
谢谢!
答案 0 :(得分:0)
我认为有助于向自己解释问题 它必须是data.hasOwnProperty(&#34;错误&#34;)。
答案 1 :(得分:0)
我不了解你所说的一半,但我认为你想要&#34; hasOwnProperty&#34;触发响应的功能。
You are using the function incorrectly.
if (data.hasOwnProperty("error")) {
this.setState({ ... });
}
注意键名称周围的引号。