Voglio rendere il mio componente dopo che la richiesta di ajax è stata eseguita.Reactjs rendering async dei componenti
Qui sotto potete vedere il mio codice
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>)
})
}
});
ma ho l'errore sotto perché sto tornando il rendering all'interno del metodo fatto della mia richiesta Ajax.
Uncaught Error: Invariant Violation: CategoriesSetup.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.
Esiste un modo per aspettare la mia richiesta ajax per terminare prima del rendering di partenza?
Inoltre, una piccola nitpick ma che ha un recupero di dati in una routine di rendering() non è davvero una grande idea. Mantieni rendering() per renderizzare e astrarre il resto. Inoltre, potresti voler ottenere quei dati solo una volta, non ogni volta che il componente viene reso. –