Ich habe eine Reaktionskomponente, die ich mit Bildern mit der Dropbox API füllen möchte. Der api-Teil funktioniert gut, aber die Komponente wird gerendert, bevor die Daten durch & kommen, so dass das Array leer ist. Wie kann ich das Rendering der Komponente verzögern, bis sie die benötigten Daten hat?Rendering-Komponente nach API-Antwort
var fileList = [];
var images = [];
var imageSource = [];
class Foo extends React.Component {
render(){
dbx.filesListFolder({path: ''})
.then(function(response) {
fileList=response.entries;
for(var i=0; i<fileList.length; i++){
imageSource.push(fileList[0].path_lower);
}
console.log(imageSource);
})
for(var a=0; a<imageSource.length; a++){
images.push(<img key={a} className='images'/>);
}
return (
<div className="folioWrapper">
{images}
</div>
);
}
}
Vielen Dank für Ihre Hilfe!
würde ich nur, dass die Komponente montieren, wenn Sie die Bilder haben. Wer also diese Komponente (die Eltern) mountet, sollte die Bilder holen und dann die Komponente mounten. – MinusFour
Sie sollten nicht alle diese Arbeit innerhalb Ihrer 'render' Methode tun. Wo wechselst du den Staat?Die Komponente wird nach dem Aktualisieren des Status gerendert. – DonovanM