2017-10-06 155 views
0

有沒有辦法從內部堆棧導航器訪問根堆棧導航器?例如:React導航嵌套堆棧,訪問根堆棧

const Root = StackNavigator(
{ 
    Login: { 
     screen: Login, 
    }, 
    TabNav: { 
     screen: TabNav  
    } 
} 
); 

const TabNav = TabNavigator(
    { 
    Content: { 
     screen: Content, 
    }, 
    Settings: { 
     screen: SettingsStack 
    } 
    } 
); 

在SettingsStack屏幕中,我有一個註銷按鈕。我將如何訪問根堆棧導航回登錄?而不是標籤導航中的內層堆棧,只需推入子堆棧中的登錄頁面即可。

+1

StackNavigator中'TabNav'的@bob將一個函數作爲screenProp傳遞給'TabNavigator'。現在,無論何時你想退出調用該功能 –

+0

我需要將道具同樣傳遞到SettingsStack嗎? –

+0

我想你必須這樣做。 Cauz SettingsStack是另一個導航器內的導航器 –

回答

2

從StackNavigator中的TabNav傳遞一個函數作爲screenProp到TabNavigator。只要您想註銷,請使用該功能。由於SettingsStack是另一個導航器內的導航器,因此將道具傳遞到SettingsStack以使其工作。