2017-12-23 21 views
1

3 개의 경로가있는 탭 네비게이터가 있습니다 ... 중간에있는 초기 경로에는 장착시 실행되는 기능이 있습니다 ...이 기능의 목적은 사용자가 초기 경로로 향할 때마다 실행됩니다 스 와이프하거나, navbar를 가볍게 두드 리거나, 안드로이드에서 back 버튼을 가볍게 두 드리거나. 그런 경우에 내 기능을 넣을 수있는 실행주기 메소드가 있습니까? 또는 탐색 옵션을 조작하는 방법이 있습니까?탭 네비게이터의 초기 경로를 탐색 할 때 함수를 실행하는 방법은 무엇입니까?

감사합니다.

답변

0

기본적으로 어떤 화면이 현재 활성화되어 있는지 추적하고 기능을 실행하려고합니다. 그 해 드리겠습니다 onNavigationStateChange

export default() => (
    <AppNavigator 
    onNavigationStateChange={(prevState, currentState) => { 
     const currentScreen = getCurrentRouteName(currentState); 
     const prevScreen = getCurrentRouteName(prevState); 

     if (currentScreen == initialScreen) { 
     // Execute the function here 
     } 
    }} 
    /> 
); 

이 문서에 읽고 사용 : onNavigationStateChange

+0

prevScreen가 무엇입니까? –

+0

@AhmedSamy 예를 들어 화면 A에서 화면 B로 갈 때 A는 prevScreen입니다. 귀하의 경우에는 필요하지 않을 수도 있습니다 – Akis

+0

'MyTabNav'에'onNavigationStateChange' – Akis