2016-11-01 31 views
0
var testData=[{"name":"require('./Images/X.jpg')"},{"name":"require('./Images/Y.jpg')"}]; 

class SampleRow extends React.Component{ 
render() { 
    return (
    <View style={styles.wrapper}> 
    <View> 
      <Image style={styles.Img} source={this.props.name}></Image> 
      <Text style={styles.text}>Hello</Text> 
    </View> 
    </View> 
); 
} 
} 

class ListViewRows extends React.Component{ 
constructor() { super(); const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); this.state = { dataSource: ds.cloneWithRows(testData), }; } 


renderRow(rowData) { 
return <SampleRow name={rowData.name} style={styles.row} /> 
} 

render() { 
    return (
    <ListView 
    ref="listView" 
    style={styles.container} 
    dataSource={this.state.dataSource} 
    renderRow={this.renderRow} 
    /> 
); 
} 
} 


var styles = StyleSheet.create({ 
container: { 
flex: 1, 
backgroundColor: '#F5FCFF', 
padding: 20 
}, 
wrapper: { 
flexDirection: 'row', 
justifyContent: 'space-between', 
paddingRight: 10, 
borderBottomWidth: 1, 
borderBottomColor: '#e9e9e9', 
marginTop: 20 
}, 
text: { 
fontSize: 24, 
fontWeight: "100", 
color: 'black', 
    },Img:{ 
width:200,height:200,resizeMode: 'contain' 
    }, 
    }); 

    AppRegistry.registerComponent('List',() => ListViewRows); 

Ich versuche, Listview mit Bildern zu erstellen. Versuchen, dieses https://rnplay.org/apps/d3DM6A zu reproduzieren. In meinem Ausgabebild wird nicht angezeigt. Ich referierte React-native failed propType on Image component und änderte die Quelle zuBilder, die nicht in ListView angezeigt werden

source = {{uri: this.props.name}} Es funktioniert immer noch nicht.Kindly assist. Ersetzen

Antwort

1

var testData=[{"name":"require('./Images/X.jpg')"},{"name":"require('./Images/Y.jpg')"}]; 

mit

var testData=[{"name":require('./Images/X.jpg')},{"name":require('./Images/Y.jpg')}]; 
+0

@ Jickson Es funktioniert. Ich versuchte das auch vorher das Hauptproblem war mein Geny Motion zeigte die vorherige Ausgabe mehrmals, obwohl ich den Code änderte, also dachte ich etwas Fehler im code.I startete Geny Motion mehrere Male neu und es funktioniert atlast. Ich habe eine Frage, auch meine App, die viele statische Bilder beinhaltet, wird langsamer, während ich es entwickle. Die Navigation wird besonders schwierig. Wie man das überwinden kann – Lambo

+0

Sorry schwierig, den Grund zu finden, ohne Code zu sehen .. Erstellen Sie eine Frage mit einem Teil des Codes, die wir verwenden können, um das Problem zu erstellen. Hoffentlich können wir Ihnen dann helfen. – Jickson

+0

Größe der Bilddateien beeinflusst die Leistung der App.I reduziert die Dimension der Bilder zu niedrigeren KB es funktioniert jetzt gut. – Lambo

Verwandte Themen