나는 GET
요청을 만드는 중이라서에서 사용하는 팀 데이터를 반환 응용 프로그램을 반응한다. 부모 구성 요소에서 이것을 만든 다음 하위 구성 요소 Loop
구성 요소로 전달합니다. GET
요청이 작동하지만 GET
요청이 완료되지 않았기 때문에 render
기능에 도달하면 정의되지 않았습니다. componentWillMount
을 사용해 보았지만 같은 문제가 발생했습니다. 사용하여 데이터에 반응 내에서 하위 구성 요소
아래 코드를 참조하십시오.
var App = React.createClass({
getInitialState: function() {
return {
teams: []
}
},
componentDidMount: function() {
$.get(url, function(data) {
this.state.teams.push(data)
});
},
render: function() {
console.log(this.state.teams)
return (
<div>
< Loop teams={this.state.teams}/>
< /div>
)
}
});
var Loop = React.createClass({
render: function() {
var teamList = this.props.teams.map(function(team, index){
return(
<h1 key={index}>
{team.name}
</h1 >
)
}) return <ul > {teamList} < /ul>
}
})
당신은 바로 당신이로'this.state' 개체를 변경할 수 없습니다, ** https://facebook.github.io/react/docs/state-and-lifecycle.html#do-not ([여기 참조] -modify-state-directly) **. 귀하의 경우에는 this.setState ({teams : data})이어야합니다. –