내 Ajax 요청이 완료된 후 구성 요소를 렌더링하려고합니다. 아래에서구성 요소의 Reactjs 비동기 렌더링
내 코드
var CategoriesSetup = React.createClass({
render: function(){
var rows = [];
$.get('http://foobar.io/api/v1/listings/categories/').done(function (data) {
$.each(data, function(index, element){
rows.push(<OptionRow obj={element} />);
});
return (<Input type='select'>{rows}</Input>)
})
}
});
볼 수 있습니다하지만 난 내 아약스 요청의 수행 방법 내부 렌더링 반환하고 있기 때문에 아래의 오류가 발생합니다.
Uncaught Error: Invariant Violation: CategoriesSetup.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.
내 아약스 요청이 시작 렌더링하기 전에 끝날 때까지 기다릴 수있는 방법이 있습니까?
또한 작은 nitpick이지만 render() 루틴에서 데이터를 검색하는 것은 좋은 생각이 아닙니다. render()를 렌더링에 유지하고 나머지는 추상화합니다. 또한 구성 요소가 렌더링 될 때마다가 아니라 한 번만 해당 데이터를 가져올 수도 있습니다. –