Ich experimentiere mit ReactJS, und ein Großteil meiner Anwendung beruht auf dem Laden von Daten aus einer API, mit Hilfe von jQuery, um mir dabei zu helfen.ReactJS Loading-Symbol während des Wartens auf Daten
Ich habe Laden Text/Symbol Setup, aber es fühlt sich ein bisschen hacky und nicht sehr wiederverwendbar:
ListWrapper = React.createClass({
getInitialState: function() {
return {
loading: true,
listData: []
};
},
componentDidMount: function() {
Api.get('/v1/listdata', function (data) {
react.setState({
loading: false,
listData: data
});
});
},
render: function() {
return (
<List loading={this.state.loading} data={this.state.listData} />
);
}
});
List = React.createClass({
render: function() {
var mapData;
if (this.props.loading)
mapData = <Loader />;
else {
mapData = this.props.data.map(function(item) {
return (
<ListItem name={item.name} />
);
});
}
return (
<div>
{mapData}
</div>
);
}
});
Dies funktioniert gut, aber die gesamte if/else-Anweisung Hinweise von Code hat riecht, da würde ich muss diese Logik überall machen.
Kann wirklich nichts im Internet darüber finden, wie man das am besten angeht ... Was ist ein besserer Weg?