2017-09-16 11 views
0

J'ai un écran de démarrage sur mes applications, donc je veux quitter les applications lorsque nous cliquons sur le bouton arrière Android de la page principale (ne pas revenir à splash écran). Je veux donc implémenter cette méthode depuis le tutoriel reac-native.React Native - Android BackHandler - Comment implémenter this.OnMainScreen et this.goBack

if (!this.onMainScreen()) { 
    this.goBack(); 
    return true; 
} 
return false; 

Est-ce que quelqu'un peut me aider comment mettre en œuvre les fonctions onMainScreen() et GoBack()? Merci pour votre aide.

Répondre

1

vous devriez pouvoir utiliser cette fonction

function getCurrentRouteFromState(navigationState): NavigationRouteConfigMap { 
    const route = navigationState.routes[navigationState.index]; 
    // dive into nested navigators 
    if (route.routes) { 
    return getCurrentRouteFromState(route); 
    } 
    return route; 
} 

Faites passer votre état de navigation et accéder au membre routeName sur l'objet résultant:

let screenName = getCurrentRouteFromState(state).routeName alors vous pouvez comparer le nom d'écran avec votre écran principal nommer et décider quoi faire.

+0

Dans mon cas, cela ressemble à 'const currentRouteName = router.getPathAndParamsForState (état) .path.split ('/'). Reverse() [0]' – stereodenis