callstack / callstack/react-native-bottom-tabs
[iOS] Tabs don't fire tabLongPress event on iOS 26
- 主要言語
- TypeScript
- スター
- 1.5k
- フォーク
- 109
- 平均マージ
- 11時間 44分
- マージ済み PR(30日)
- 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 と比較します。再現された listener からライブラリおよびネイティブ iOS 実装まで、タブイベントの経路を追跡します。iOS 26 で listener が iOS 18 と同じように発火し、既存のテスト構造が対応している場合は回帰テストによるカバレッジが追加されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- ios, react-native, typescript
- 領域
- mobile
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100