Ich folge dem gleichnamigen "BookBrowser" -Beispiel - eine gängige App, um React Native an n00bs zu unterrichten, die aber leider oft NavigatorIOS statt Navigator verwendet, um den Schülern die Navigation zu erklären.Wie kann ich ein renderRow-Objekt als Navigator-Prop übergeben?
Ich entschied mich, es zu nehmen und schaffte es statische Requisiten durch das 'route' Navigator Objekt zu übergeben. Allerdings bin ich dabei, ein renderRow-Objekt (aus ListView) zu übergeben. Beispiel:
renderResults() {
return (
<ListView
dataSource={this.state.dataSource}
renderRow={this.renderBooks}
style={styles.listView}
/>
);
}
renderBooks(book) {
return (
<TouchableHighlight
style={styles.button}
underlayColor={'#F25F5D'}
onPress={this.onBookPress}
>
<View style={styles.row}>
<Text style={styles.title}>
{book.name}
</Text>
</View>
</TouchableHighlight>
);
}
Ich habe versucht, diese Funktion zu verwenden, um Buchnamenstütze zu übergeben.
onBookPress() {
this.props.navigator.push({name: 'bookdetails', dummy: this.props.name});
}
Ich bekomme undefiniert, wenn ich es vom Kind konsumiere. Ich probierte andere Kombinationen einschließlich this.props.book.name, etc.
Können Sie mich auf einen Arbeitscode zeigen oder mich führen, wo ich mich täusche?
PS: Wie ich bereits sagte, ich es geschafft, eine statische Stütze erfolgreich an die untergeordnete Komponente passieren, so ist die Frage, wie die gerenderte Reihe passieren ..
Umm Ich glaube, Sie vermissen Buchobjekt in RenderRow. Sie rufen den Zeilenrenderer auf, aber Sie geben renderBooks kein Buch. Ich würde es so versuchen: 'renderRow = {(Buch) => this.renderBooks (Buch)}' so weit ich weiß, alles andere sieht gut aus – Vikky
Dank @Vikky, aber das hat das Problem nicht gelöst. Bitte überprüfen Sie meine eigene Antwort für Details. –