0

我們正在使用React Native Router來管理導航。我們的路由器的渲染功能如下所示:React本地路由器(react-native-router-flux) - 更多的控制動作觸發

<Scene key="tabbar" tabs={true} hideNavBar={true} tabBarStyle={{position: 'absolute', top: 0, left: 0}}> 
    <Scene key={TAB_1} component={Tab1Container} icon={TabIcon} title={TAB_1_TITLE} hideNavBar={true} /> 
    <Scene key={TAB_2} component={Tab2Container} icon={TabIcon} title={TAB_2_TITLE} hideNavBar={true} /> 
    <Scene key={TAB_3} component={Tab3Container} icon={TabIcon} title={TAB_3_TITLE} hideNavBar={true} /> 
    <Scene key={TAB_4} component={Tab4Container} icon={TabIcon} title={TAB_4_TITLE} hideNavBar={true} /> 
    <Scene key={TAB_5} component={Tab5Container} icon={TabIcon} title={TAB_5_TITLE} hideNavBar={true} /> 
</Scene> 

在我們的應用程序中,不允許立即從TAB_1跳轉到TAB_5。你必須通過TAB_2到TAB_5。目前當我可以從頭到尾跳

現在我找不到任何可能會有類似於可以在觸發Action之前觸發的函數的東西。

僞代碼:

if(current_pressed_tab <= progress_tab){ 
    //head on to next tab 
} 
else{ 
    //make nothing 
} 

是否有任何功能或回調道具什麼我可以使用嗎?

回答

0

您需要跟蹤您在Redux中導航的路線(我假設)並創建自定義的Redux動作創建者,在觸發導航之前運行您的檢查僞代碼。