Ich habe React Native App und ich verwende navigator.back()
, wenn ich zurück muss. Aber ich habe das Problem bemerkt.
Zum Beispiel, wenn ich drei Seiten habe A, B, C und ich beginnen mit A, dann gehe ich zu B, zu C, dann gehe zurück zu B und jetzt, wenn ich rufe navigator.back()
es führt mich zu Seite C, aber ich erwartete, Seite A zu sehen.Wie funktioniert der Navigator?
Weiß jemand, wie man dieses Problem löst? Hier
ist ein Beispiel für meine Code:
import React, { Component } from 'react'
import {
StyleSheet,
View,
StatusBar,
Navigator
} from 'react-native'
...
_renderScene (route, navigator) {
switch (route.name) {
case RouteName.Home:
return <Home navigator={navigator} />
case RouteName.Library:
return <Library navigator={navigator} />
case RouteName.BookDetails:
return <Details navigator={navigator} book={route.passProps.book} />
default:
console.error('Encountered unexpected route: ' + route.name)
}
return <Home />
}
...
export class Library extends React.Component {
constructor (props) {
super(props)
}
render(){
return (
<View style={styles.library}>
<Header title={LocalizationService.translate('MyLibrary')} navigator={this.props.navigator} />
<ScrollView>
<Accordion
ref='accordion'
sections={this.state.sections}
initiallyActiveSection={0}
renderHeader={this._renderHeader}
renderContent={this._renderContent.bind(this)}
/>
</ScrollView>
</View>
)
}
}
export class Header extends Component {
constructor (props) {
super(props)
this.state = {
title: ''
}
this._onClose = this._onClose.bind(this)
}
_onClose() {
let { onClose, navigator } = this.props
if (onClose) {
onClose()
} else {
navigator && navigator.pop()
}
}
}
Header.propTypes = {
title: React.PropTypes.string,
navigator: React.PropTypes.object,
onClose: React.PropTypes.func
}
Das klingt nicht wie normales Verhalten. Bist du sicher, dass du * zurück * nach B und nicht * vor * nach B gehst? – Quentin
Wenn ich von C nach B gehe, verwende ich diese Methode: _goBack() { this.props.navigator.back() } – Dmitry
_renderScene (Route, Navigator) { Schalter (route.name) {Fall RouteName. bookDetails: zurück –
Dmitry