callstack / callstack/react-native-bottom-tabs
[iOS] Tabs don't fire tabLongPress event on iOS 26
- 主要语言
- TypeScript
- 星标
- 1.5k
- 派生
- 109
- 平均合并
- 11 小时 44 分钟
- 30 天内合并 PR
- 8
描述
### 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() {
}
```
贡献指南
调研方向
首先在 iOS 26 上使用 react-native-bottom-tabs 1.4.0 运行提供的 Expo Router 复现,然后在 iOS 18 上对比相同的 tabLongPress listener。跟踪 tab 事件从复现的 listener 进入库和原生 iOS 实现的路径。当 listener 在 iOS 26 上像在 iOS 18 上一样触发,并且现有测试结构支持时补充回归覆盖,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- ios, react-native, typescript
- 领域
- mobile
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100