我试图在FiveDayWeather类的构造函数中调用getWeather()。我将函数绑定到类的上下文,但是当我尝试在构造函数中调用该函数时,它会出错。
我试过了:
this.getWeather()
而当这不起作用时:
getWeather()
但这也不起作用
我如何从此类内部调用getWeather函数?
class FiveDayWeather extends React.Component {
constructor(props) {
super(props)
this.state = {
error: null,
isLoaded: false,
days: []
}
this.getWeather = this.getWeather.bind(this)
getWeather()
console.log(this.state);
}
getWeather() {
axios.get(URL)
.then(function(response) {
this.setState({
days: response
})
})
}
render() {
return(
<div>Placeholder</div>
)
}
}
这与从异步调用返回响应无关
最佳答案
根据您的注释:
我正在尝试在构造函数内部调用getWeather()
它在构造函数中不起作用。将其放在componentDidMount()
生命周期方法中,例如
componentDidMount(){
this.getWeather();
}
根据您在下面的评论,像这样更新promise:
getWeather() {
axios.get(URL)
.then((response) => {
this.setState({
days: response
})
})
}
箭头函数应为您绑定
this
的上下文