같은 질문을하는 데 많은 질문이 있다는 것을 알고 있지만 그 답변 중 어느 것도 내 특정 사례에서 제대로 작동하지 않는 것으로 알고 있으며 몇 시간 동안 계속했습니다. 그것을 알아낼 수 없습니다.ReactJS : 준비되지 않음 속성 xxx가 정의되지 않음
{
current: {}
forecast:
forecastday:[ //
0: {...}
1: {...}
2: {...}
3: {...}
4: {...}
] //Array of five objects
location: {}
} //this object is part of a bigger response object
I console.log(objectName.forecast.forecastday)
내가 다시이 실제로 있다는 뜻 배열을 얻을 때 :이처럼 보이는 API 호출에서 개체를 다시 얻을 WeatherApp.I에 대한 ReactJs 자습서를 다음과 같은거야.
하지만
var forecastData = props.forecast.data;
var days = forecastData.forecast.forecastday.map(function (day) {
//do something
});
을 시도 할 때 오류 Uncaught TypeError: Cannot read property 'forecast' of undefined
날 다시 제공합니다. 나는 또한 로깅을 시도했다 forecastData
그리고 다시 잘 온다. forecast
이 분명히 존재하기 때문에 내가 분명히 놓치지 않는 한 무슨 일이 일어나고 있는지 알 수 없습니다.
감사합니다.
아마도 'var forecastData = props.forecast.data;'이 문제가 발생합니까? 'forecastData'가 올바른 데이터를 제공한다면 –
'props.forecast.data'는'undefined'입니다. 소품이 부모 구성품에 의해 올바르게 전달되고 있는지 확인하십시오. render 함수에'console.log (this.props)'를 추가하고 전달되는 것을 조사하십시오. – SimpleJ
데이터가 정확하게 없을 때 초기 렌더를 다루고 있습니까? 문제를 일으키는 블록은 API 호출이 완료된 후에 만 액세스 가능해야합니다. 제 느낌은 당신이 그런 보호 장치가 없다는 것입니다.이 코드는 api cal이 업데이트되기 전에 호출됩니다/상태를 업데이트합니다. – finalfreq