React map axios array

时间:2016-12-19 14:06:09

标签: arrays json reactjs axios

我使用axios在反应中获取一系列事件。然后,我试图通过响应来映射每个事件。但是我一直收到这个错误:

" invariant.js:38 Uncaught(在promise中)错误:Time.render():必须返回有效的React元素(或null)。您可能已经返回了undefined,数组或其他一些无效对象"

这是我的代码:

var Events = React.createClass({
 getInitialState() {
    return {
        events: []
    }
},
componentDidMount() {
var _this = this;
  axios
    .get("/URL")
    .then(function (response) {
        //console.log(response.data)
        _this.setState({
            events: response.data
        }); 
    })

},
componentWillUnmount() {
    this.unmounted = true;
},
render() {
    //console.log(this.state.events)
    return (
        <div>
            <Link to="/add/" className="btn btn-success pull-right">Add Event <i className="glyphicon glyphicon-plus"></i></Link>
            <div className="clearfix"></div>
            {this.state.events.map((event, key) => {
             return (
                    <div key={key}>
                        <Event 
                            title={event.EventTitle}
                            date={event.EventDate}
                            time={event.EventTime}
                            description={event.EventDescription}
                            presentor={event.EventPresenters}
                            location={event.EventLocation}
                            registered={event.registeredusercount}
                            max_reg={event.EventMaximumAttendees}
                            id={event.UNID} />
                    </div>
                )
            })}
        </div>
    )
}
});

export default Events;

0 个答案:

没有答案