コードペンの反応で発生する別の奇妙なエラー。
API 応答を にレンダリングしようとしています<h2>
が、どういうわけかすべてのプロパティをレンダリングできません。
render: function () {
return (
<div className="weather-card">
<h1>Weather For:</h1>
<h2>{this.state.data.name}, {this.state.data.sys.country}</h2>
<h2>{this.state.data.main.temp}</h2>
<h2>{this.state.data.weather[0].main}</h2>
</div>
)
}
レンダリングのみthis.state.data.name
は問題ありません。たとえば、オブジェクトが 1 つ深い場合、「Uncaught TypeError: Undefined のプロパティ 'country' を読み取ることができません」と表示されます ...
しかし、これとまったく同じプロパティをコンソールに記録できます。
誰でもアイデアはありますか?
コードペンもここにあります:http://codepen.io/rasmus/pen/aNGRJm
編集:次のように、さまざまなプロパティを独自の状態プロパティとして割り当てることで機能しました。
success: (data) => {
self.setState({
city: data.name,
temp: data.main.temp,
weather: data.weather[0].main,
isLoading: false
});
console.log(self.state.data.main.temp)
},
しかし、これは少しハックです...