react列表未呈现更新的状态数据



我试图将api调用中的一些更新数据呈现为项列表,但我的map函数什么都不输出?我没有收到任何错误,我的代码只是没有从inputNode((内的映射中返回任何内容

我可能是从某个不适当的范围调用函数吗?我测试了这个条件,它在没有map((的情况下按预期工作

希望有人能在这里教我;(

inputNode = () => {  

if(this.state.weatherData === null) {
return(
<div>
nothing here
</div>
)
}else{

this.state.weatherData.map((period, index)=>{
return(
<div key={index}>
<p>{period.name}</p>
<h3>forecast</h3>
<p>{period.shortForecast}</p>
<p>{period.temperature}</p>
<p>from {period.startTime} to {period.endTime}</p>
</div>
)
})
}         
}

render() {  
return <div className={styles.container}>{this.inputNode()}</div> 
}

我认为问题是您忘记在else块中返回映射函数的结果:

inputNode = () => {  

if(this.state.weatherData === null) {
return(
<div>
nothing here
</div>
)
}else{

return this.state.weatherData.map((period, index)=>{ // add return here
return(
<div key={index}>
<p>{period.name}</p>
<h3>forecast</h3>
<p>{period.shortForecast}</p>
<p>{period.temperature}</p>
<p>from {period.startTime} to {period.endTime}</p>
</div>
)
})
}         
}

最新更新