Le rendu de réagir composant après l'api de réponse

J'ai une réagir composant que je souhaite remplir avec des images à l'aide de l'api Dropbox. L'api partie fonctionne bien, mais le composant est rendu avant que les données proviennent de & si le tableau est vide. Comment puis-je retarder le rendu du composant jusqu'à ce qu'il a les données dont il a besoin?

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>
  );
 }
}

Merci pour votre aide!

  • Je voudrais monter uniquement le composant une fois que vous avez les images. Donc celui qui monte cet élément (le parent), doit extraire les images puis monter le composant.
  • Vous ne devriez pas avoir à faire tout le travail à l'intérieur de votre render méthode. Où en êtes-vous de changer l'état? Le composant rend après la mise à jour de l'état.
InformationsquelleAutor r_cahill | 2017-07-04