Skip to content

swipeEnabled: false is not working #1028

@JamesGs1994

Description

@JamesGs1994

### Bug Report

When using Top Tabs with swipeEnabled: false, the very first tab is still swipeable on first mount. After swiping once, the swipe is locked as expected.

Code Snippet

<TopTab.Navigator
  screenOptions={({ route }) => ({
    swipeEnabled: false,
  })}
>

  {/* screens */}
</TopTab.Navigator>

Expected Behavior

All top tabs should be non-swipeable when swipeEnabled: false is set.

Actual Behavior

On first mount:

The very first top tab is still swipeable.

After the first swipe, it correctly locks and behaves as expected.

Package Versions

{
  "name": "My_App",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "lint": "eslint .",
    "start": "react-native start",
    "test": "jest"
  },
  "dependencies": {
    "@react-native-community/blur": "^4.4.1",
    "@react-native-community/checkbox": "^0.5.20",
    "@react-native-community/netinfo": "^11.4.1",
    "@react-native-picker/picker": "^2.11.1",
    "@react-native-vector-icons/ant-design": "^12.3.0",
    "@react-native-vector-icons/common": "^12.3.0",
    "@react-native-vector-icons/entypo": "^12.3.0",
    "@react-native-vector-icons/fontawesome6": "^12.2.0",
    "@react-native-vector-icons/ionicons": "^12.3.0",
    "@react-native-vector-icons/material-design-icons": "^12.3.0",
    "@react-native/new-app-screen": "0.80.2",
    "@react-navigation/bottom-tabs": "^7.4.6",
    "@react-navigation/drawer": "^7.5.7",
    "@react-navigation/elements": "^2.6.3",
    "@react-navigation/material-top-tabs": "^7.3.6",
    "@react-navigation/native": "^7.1.17",
    "@react-navigation/native-stack": "^7.3.25",
    "@react-navigation/stack": "^7.4.8",
    "@realm/react": "^0.11.0",
    "@reduxjs/toolkit": "^2.8.2",
    "@types/react-native-table-component": "^1.2.8",
    "@types/react-native-vector-icons": "^6.4.18",
    "axios": "^1.11.0",
    "date-fns": "^4.1.0",
    "react": "19.1.0",
    "react-native": "0.80.2",
    "react-native-awesome-slider": "^2.9.0",
    "react-native-device-info": "^14.0.4",
    "react-native-dotenv": "^3.4.11",
    "react-native-element-dropdown": "^2.12.4",
    "react-native-full-responsive": "^2.4.5",
    "react-native-gesture-handler": "^2.28.0",
    "react-native-pager-view": "^6.9.1",
    "react-native-paper": "^5.14.5",
    "react-native-paper-dates": "^0.22.49",
    "react-native-radio-buttons-group": "^3.1.0",
    "react-native-reanimated": "^4.1.0",
    "react-native-safe-area-context": "^5.6.0",
    "react-native-screens": "^4.13.1",
    "react-native-table-component": "^1.2.2",
    "react-native-uuid": "^2.0.3",
    "react-native-webview": "^13.15.0",
    "react-native-worklets": "^0.5.1",
    "react-redux": "^9.2.0",
    "realm": "^12.14.2",
    "redux": "^5.0.1",
    "redux-devtools-extension": "^2.13.9",
    "uuid": "^11.1.0"
  },
  "devDependencies": {
    "@babel/core": "^7.25.2",
    "@babel/preset-env": "^7.25.3",
    "@babel/runtime": "^7.25.0",
    "@react-native-community/cli": "19.1.1",
    "@react-native-community/cli-platform-android": "19.1.1",
    "@react-native-community/cli-platform-ios": "19.1.1",
    "@react-native/babel-preset": "0.80.2",
    "@react-native/eslint-config": "0.80.2",
    "@react-native/metro-config": "0.80.2",
    "@react-native/typescript-config": "0.80.2",
    "@types/jest": "^29.5.13",
    "@types/react": "^19.1.0",
    "@types/react-test-renderer": "^19.1.0",
    "babel-plugin-module-resolver": "^5.0.2",
    "eslint": "^8.19.0",
    "jest": "^29.6.3",
    "prettier": "2.8.8",
    "react-native-worklets": "^0.5.1",
    "react-test-renderer": "19.1.0",
    "typescript": "5.0.4"
  },
  "engines": {
    "node": ">=18"
  }
}

Full package.json attached above in case needed.

Environment

Node: >=18

Check the Issues already given

@tobycox @sophiebits @cpojer @bvaughn

https://github.com/react-navigation/react-navigation/issues/12668#issue-3193343632

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions