我使用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;