callstack / callstack/react-native-bottom-tabs
[iOS] Tabs don't fire tabLongPress event on iOS 26
- Langage dominant
- TypeScript
- Étoiles
- 1.5k
- Forks
- 109
- Merge moyen
- 11 h 44 min
- PR mergées (30 j)
- 8
Description
### Before submitting a new issue
- [x] I tested using the latest version of the library, as the bug might be already fixed.
- [x] I tested using a [supported version](https://github.com/reactwg/react-native-releases/blob/main/docs/support.md) of react native.
- [x] I checked for possible duplicate issues, with possible answers.
### Bug summary
Tabs don't fire `tabLongPress` event on iOS 26. However, it does work on iOS 18.
### Library version
1.4.0
### Environment info
```shell
"react-native": "0.86.3",
"expo": "~57.0.20",
"expo-router": "~57.0.19",
"react-native-bottom-tabs": "^1.4.0",
"@bottom-tabs/react-navigation": "^1.4.0",
```
### Steps to reproduce
1. Create an expo app with expo router
2. Install bottom-tabs
3. Add a `tabLongPress` listener to a tab
### Reproducible sample code
```tsx
import {
createNativeBottomTabNavigator,
type NativeBottomTabNavigationEventMap,
type NativeBottomTabNavigationOptions,
} from '@bottom-tabs/react-navigation'
import { type TabNavigationState, withLayoutContext } from 'expo-router'
import { type ParamListBase } from 'expo-router/react-navigation'
const { Navigator } = createNativeBottomTabNavigator()
const Tabs = withLayoutContext<
NativeBottomTabNavigationOptions,
typeof Navigator,
TabNavigationState,
NativeBottomTabNavigationEventMap
>(Navigator)
function App() {
}
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par exécuter la reproduction fournie de Expo Router avec react-native-bottom-tabs 1.4.0 sur iOS 26, puis comparez le même listener tabLongPress sur iOS 18. Suivez le cheminement de l’événement d’onglet depuis le listener reproduit jusqu’à la bibliothèque et à l’implémentation native iOS. La tâche est terminée lorsque le listener se déclenche sur iOS 26 comme sur iOS 18, avec une couverture de régression si la structure de tests existante le permet.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- ios, react-native, typescript
- Domaine
- mobile
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 48/100