Ich möchte meine Komponente nach meiner Ajax-Anfrage gerendert werden.Reactjs Async-Rendering von Komponenten
Im folgenden finden Sie meinen Code
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>)
})
}
});
aber ich habe den Fehler unten sehen, weil ich in der getan Methode meiner Ajax-Request machen kehre zurück.
Uncaught Error: Invariant Violation: CategoriesSetup.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.
Gibt es eine Möglichkeit zu warten, meine Ajax-Anforderung vor dem Start Rendering Ende zu?
Auch ein kleiner Nitpick, aber ein Datenabruf in einer render() - Routine ist nicht wirklich eine großartige Idee. Halten Sie render() für das Rendering und den Rest aus. Außerdem möchten Sie diese Daten möglicherweise nur einmal abrufen, nicht jedes Mal, wenn die Komponente gerendert wird. –