callstack / callstack/react-native-pager-view

[iOS 15] swipeEnabled: false is not working

Offen
#1,028 19 Kommentare 10 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
ios
Vorherrschende Sprache
TypeScript
Sterne
3.4k
Forks
476
Ø Merge
10 T. 21 Std.
Gemergte PRs (30 T.)
2

Beschreibung

**### 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
```
({
swipeEnabled: false,
})}
>

{/* screens */}

```

**_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](url)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, das Verhalten beim ersten Mount auf iOS mit der bereitgestellten TopTab.Navigator-Konfiguration und dem react-native-pager-view-Setup zu reproduzieren. Verfolge anschließend die anfängliche Verarbeitung von swipeEnabled im Pager; die Aufgabe ist abgeschlossen, wenn der erste Tab ab dem Mount nicht per Swipe wechselbar ist, wenn swipeEnabled false ist, während das bestehende Verhalten nach der Navigation weiterhin korrekt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ios, react-native, typescript
Bereich
mobile
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
52/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.