Dropbox APIを使用して画像を取り込みたい反応成分があります。 apiの部分はうまく動作しますが、データが&を経由する前にコンポーネントがレンダリングされるため、配列は空です。コンポーネントに必要なデータが得られるまで、コンポーネントのレンダリングをどのように遅らせることができますか?APIレスポンス後の反応成分のレンダリング
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>
);
}
}
ありがとうございました!
:
はこのようにそれを書きます。したがって、このコンポーネント(親)をマウントする人は、イメージを取得してからコンポーネントをマウントする必要があります。 – MinusFour
あなたは 'render'メソッドの中でそのすべての作業を行うべきではありません。あなたはどこで州を変えていますか?コンポーネントは状態を更新した後にレンダリングされます。 – DonovanM