callstack / callstack/react-native-pager-view
[iOS 15] swipeEnabled: false is not working
- 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
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