Sto cercando di ottenere immagini dai miei dispositivi di test. Ho recuperato con successo le immagini dal rullino fotografico e le ho visualizzate all'interno di una serie di elementi Immagine in una visualizzazione elenco ma richiedono molto tempo per essere caricate. Inoltre, ho letto i documenti React Native che l'elemento Image sceglierà dimensione dell'immagine corretta per lo spazio in cui verrà renderizzata.React Native - Come ottenere thumbnails del rullino fotografico invece di immagini a dimensione intera
Questo è dai documenti.
iOS salva più formati per la stessa immagine nel Rullino foto, è molto importante scegliere quello che è il più vicino possibile per motivi di prestazioni. Non si desidera utilizzare l'immagine 3264x2448 di qualità completa come sorgente quando si visualizza una miniatura 200x200. Se c'è una corrispondenza esatta, React Native la sceglierà, altrimenti userà la prima che è almeno del 50% più grande per evitare la sfocatura quando ridimensiona da una dimensione vicina. Tutto questo è fatto per impostazione predefinita in modo da non doversi preoccupare di scrivere il codice noioso (e incline agli errori) per farlo da soli. https://facebook.github.io/react-native/docs/image.html#best-camera-roll-image
Il codice che sto usando per leggere le immagini è semplicissimo.
CameraRoll.getPhotos({
first: 21,
assetType: 'Photos'
}, (data) => {
console.log(data);
var images = data.edges.map((asset) => {
return {
uri: asset.node.image.uri
};
});
this.setState({
images: this.state.images.cloneWithRows(images)
});
},() => {
this.setState({
retrievePhotoError: messages.errors.retrievePhotos
});
});
E quindi per renderlo ho queste funzioni.
renderImage(image) {
return <Image resizeMode="cover" source={{uri: image.uri}} style={[{
height: imageDimensions, // imageDimensions == 93.5
width: imageDimensions
}, componentStyles.thumbnails]}/>;
},
render() {
<ListView
automaticallyAdjustContentInsets={false}
contentContainerStyle={componentStyles.row}
dataSource={this.state.images}
renderRow={this.renderImage}
/>
}
Cosa mi manca qui? Sto impazzendo!!!
esci con la soluzione javascript? –