こんにちは私はカメラロールから写真を取得して表示しようとしている次のクラスを持っています。React Native CameraRoll.getPhotos APIは結果をレンダリングしません
class CameraRollProject extends Component {
constructor(props) {
super(props);
this.state = {
images: []
};
}
componentWillMount() {
const fetchParams = {
first: 25,
};
CameraRoll.getPhotos(fetchParams, this.storeImages, this.logImageError);
}
storeImages(data) {
const assets = data.edges;
const images = assets.map((asset) => asset.node.image);
this.state.images = images;
}
logImageError(err) {
console.log(err);
}
render() {
return (
<ScrollView style={styles.container}>
<View style={styles.imageGrid}>
{ this.state.images.map((image) => <Image style={styles.image} source={{ uri: image.uri }} />) }
</View>
</ScrollView>
);
}
};
export default CameraRollProject;
私のCameraRoll.getPhotos約束が解決される前に、私のレンダー機能が呼び出されている問題があります。だから私は写真を手に入れません。
は、この問題を解決するために、私は、しかし、これは私に私が上記のような状況で何をすることができ、次のエラー
を与える
render() {
return CameraRoll.getPhotos(fetchParams, this.storeImages, this.logImageError)
.then(() => {
return (
<ScrollView style={styles.container}>
<View style={styles.imageGrid}>
{ this.state.images.map((image) => <Image style={styles.image} source={{ uri: image.uri }} />) }
</View>
</ScrollView>
);
});
}
を以下に私のプログラムを変更しましたか?レンダリングがCameraRoll.getPhotosが解決された後にのみ動作することを確認する方法を教えてください。
サードパーティのライブラリではなく、 '' 'CameraRoll.getPhotos'''をネイティブで使いたいと思います。 –