首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react导航5禁用向后滑动操作

react导航5禁用向后滑动操作
EN

Stack Overflow用户
提问于 2020-09-22 23:01:56
回答 3查看 17.1K关注 0票数 21

我正在使用react导航5:

我创建了MainStackScreen和AuthStackScreen

代码语言:javascript
复制
const AuthStack = createStackNavigator();

function AuthStackScreen() {
  return (
    <AuthStack.Navigator headerMode="none">
      <AuthStack.Screen name="Main" component={Main} />
      <AuthStack.Screen name="Login" component={Login} />
      <AuthStack.Screen name="Registration" component={Registration} />
      <AuthStack.Screen name="Home" component={DrawerNavigator} />
      <AuthStack.Screen name="Notifications" component={Notifications} />
      <AuthStack.Screen name="SmsValidation" component={SmsValidation} />
      <AuthStack.Screen name="MoreRegistrationInfo" component={MoreRegistrationInfo} />
    </AuthStack.Navigator>
  );
}

MainStackScreen:

代码语言:javascript
复制
const MainScreen = createStackNavigator();

function MainStackScreen({navigation}) {
  return (
    <MainScreen.Navigator>
      <MainScreen.Screen name="Main" component={Main} />
      <MainScreen.Screen name="SmsValidation" component={SmsValidation} />
      <MainScreen.Screen name="MoreRegistrationInfo" component={MoreRegistrationInfo} />
    </MainScreen.Navigator>
  );
}

我想阻止IOS在登录我的屏幕之间来回滑动操作

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-23 00:06:37

您可以在如下屏幕中将gestureEnabled设置为false:

代码语言:javascript
复制
<AuthStack.Screen
   name="Login"
   component={Login}
   options={{gestureEnabled: false}}
/>

或者像这样的整个导航器:

代码语言:javascript
复制
<AuthStack.Navigator screenOptions={{gestureEnabled: false}}>
  ...
</AuthStack.Navigator>
票数 53
EN

Stack Overflow用户

发布于 2020-09-22 23:23:08

您可以设置beforeRemove监听器以防止返回。React Navigation Docs

票数 1
EN

Stack Overflow用户

发布于 2020-09-23 19:31:49

代码语言:javascript
复制
/* -------------------------------------------------------------------------- */
/*                                 AUTH STACK                                 */
/* -------------------------------------------------------------------------- */

const AuthStack = createStackNavigator();

function AuthStackScreen() {
  return (
    <AuthStack.Navigator headerMode="none">
      <AuthStack.Screen name="Main" component={Main} />
      <AuthStack.Screen name="Login" component={Login} options={{gestureEnabled: false}} />
      <AuthStack.Screen
        name="Registration"
        component={Registration}
        options={{gestureEnabled: false}}
      />
      <AuthStack.Screen name="Home" component={DrawerNavigator} options={{gestureEnabled: false}} />
      <AuthStack.Screen
        name="Notifications"
        component={Notifications}
        options={{gestureEnabled: false}}
      />
      <AuthStack.Screen
        name="SmsValidation"
        component={SmsValidation}
        options={{gestureEnabled: false}}
      />
      <AuthStack.Screen
        name="MoreRegistrationInfo"
        component={MoreRegistrationInfo}
        options={{gestureEnabled: false}}
      />
    </AuthStack.Navigator>
  );
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64012470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档