J'ai un problème avec la navigation de Réagir de Navigation et de Réagir Natif. C'est sur la réinitialisation de la navigation et le retour à l'écran d'accueil.
J'ai un StackNavigator à l'intérieur d'un DrawerNavigator, et la navigation entre l'écran d'accueil et autres écrans de travail. Mais le problème, c'est que la pile de navigation se développe et grandit. Je ne suis pas sûr de savoir comment supprimer un écran à partir de la pile.
Par exemple lorsqu'on passe de l'écran d'accueil à l'écran paramètres, puis à l'écran de saisie et enfin de nouveau à l'écran d'accueil l'écran d'accueil est deux fois dans la pile. Avec le bouton de retour je ne sors pas de l'application, mais encore une fois à l'écran de saisie.
Lorsque vous sélectionnez le bouton d'accueil une remise à zéro de la pile serait génial, mais je ne sais pas comment faire. Ici, quelqu'un a essayé d'aider une autre personne avec un problème similaire, mais la solution n'a pas fonctionné pour moi.
const Stack = StackNavigator({
Home: {
screen: Home
},
Entry: {
screen: Entry
},
Settings: {
screen: Settings
}
})
export const Drawer = DrawerNavigator({
Home: {
screen: Stack
}},
{
contentComponent: HamburgerMenu
}
)
Et c'est un exemple simple de le tiroir de l'écran
export default class HamburgerMenu extends Component {
render () {
return <ScrollView>
<Icon.Button
name={'home'}
borderRadius={0}
size={25}
onPress={() => { this.props.navigation.navigate('Home')}}>
<Text>{I18n.t('home')}</Text>
</Icon.Button>
<Icon.Button
name={'settings'}
borderRadius={0}
size={25}
onPress={() => { this.props.navigation.navigate('Settings')}}>
<Text>{I18n.t('settings')}</Text>
</Icon.Button>
<Icon.Button
name={'entry'}
borderRadius={0}
size={25}
onPress={() => { this.props.navigation.navigate('Entry')}}>
<Text>{I18n.t('entry')}</Text>
</Icon.Button>
</ScrollView>
}
}
J'espère que vous pourrez m'aider. C'est une partie essentielle de la navigation et une solution serait génial!