Ich habe ListView-Komponente von React-native verwendet und es zum Rendern von Produktdetails und Bilder verwendet.Nach dem Laden von Bildern auf Bildlauf wird verschwunden reagiert reagieren native
Nun, nach dem Laden der Bilder scrolle ich die Ansicht nach unten. Beim Zurückkehren zu früheren Produkten werden nur Bilder gelöscht und scheinen wieder von der Quelle geladen zu werden.
Die Bildquelle ist eine URL.
Bitte sagen Sie mir, wie kann ich die Bilder beibehalten, die bereits in aktuellen Native Android Bildschirm geladen reagieren.
Ich verwende:
"dependencies": {
"react": "16.0.0-alpha.12",
"react-native": "0.45.1",
"react-native-keyboard-aware-scroll-view": "^0.2.9",
"react-native-vector-icons": "^4.2.0",
"react-navigation": "^1.0.0-beta.11"
},
Aktualisiert-Code als Referenz:
<ListView
renderRow={this._renderRow.bind(this)}
dataSource={this.state.dataSource}
pageSize={data.length}/>
</View>
_renderRow(data){
return (
<View style={styles.boxContainer}>
<Image
style={styles.image}
resizeMode={'contain'}
source={{uri: "https://vesyl.in/"+data.image_url}}
/>
</View>
</View>
)
}
Die Antwort von API:
data = [];
for(let i=0; i<responseJson.data.length; i++){
var t = responseJson.data;
data.push(t[i]);
}
const ds = new ListView.DataSource({rowHasChanged: (r1, r2)=>r1!==r2});
this.setState({dataSource: ds.cloneWithRows(data)});
data.image_url Objekte sind mit Bild u Rls.
Da Sie RN 0.45 verwenden, würde ich FlatList anstelle von ListView empfehlen. Außerdem muss ich deinen Code wirklich sehen, um dir weiter zu helfen. – dejakob
@dejakob Bitte überprüfen Sie die Codes – subhajit
Können Sie console.log in _renderRow hinzufügen und überprüfen, ob es erneut gerendert wird? – dejakob