我正在做一個基本的React應用程序,其數據來自我的api。但是當AJAX成功後我做this.setState({})
時狀態不會更新。在render
方法中,state.events爲空。成功的AJAX請求後狀態沒有更新
我在做什麼錯?
import React, {PropTypes, Component} from 'react';
import axios from 'axios';
import './App.css';
class App extends Component {
constructor(props) {
super(props);
this.state = {
events: []
};
}
componentDidMount() {
axios.get('http://localhost:4000/api/v1/events')
.then(function (response) {
this.setState({events: response.data});
})
.catch(function (error) {
console.warn(error);
});
}
render() {
// this.state.events keeps being an empty array []
return (
<div className="home">
{
this.state.events.map((month) => {
console.log(month)
})
}
</div>
);
}
}
export default App;
OMG謝謝,我忘了經典的'這個混亂'在JS :) – olefrank