[英]How to Disable back swipe option or pop a route in React Navigation?
我有一個登錄頁面(StackNavigator)和一個標簽頁(TabNavigator)。
export const Root = StackNavigator({
LoginScreen: {screen: Login},
Tabs: {screen: Tabs}
},
{
initialRouteName: 'LoginScreen'
}
)
用戶登錄后,用戶仍有可能通過向后滑動返回(到登錄頁面)。 從路由堆棧彈出登錄路由或禁用后滑動選項的方法是什么。 謝謝
調度重置操作而不是正常的導航調度。 這樣,您可以在登錄后將堆棧設置為您想要的狀態,並從堆棧中刪除您的LoginScreen
。
示例相關答案:
從 React Navigation (v6) 處理它的官方方法是根據isSignedIn
條件定義導航器中的屏幕,以便一旦將isSignedIn
變量設置為true
,導航器中將不存在登錄屏幕。
例如:
<Stack.Navigator>
{isSignedIn ? (
<Stack.Screen name="Tabs" component={TabsScreen} />
) : (
<Stack.Screen name="Login" component={LoginScreen} />
)}
</Stack.Navigator>
有關詳細信息,請參閱身份驗證流程部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.