callstack / callstack/react-native-pager-view

onPageSelected is triggering with e.nativeEvent.position==0 after leaving tabview

オープン
#895 コメント 7 件 リアクション 0 件 担当者 1 名 GitHub で見る

@MrRefactor がすでに取り組んでいます。

2024年11月9日 から。

android
主要言語
TypeScript
スター
3.4k
フォーク
476
平均マージ
10日 21時間
マージ済み PR(30日)
2

説明

## Environment

Android V15 only, iOS not affected

React Native 0.74.5
"react-native-pager-view": "~6.4.1",
"react-native-tab-view": "~3.5.2",
"@react-navigation/stack": "~6.4.1",
"@react-navigation/material-top-tabs": "~6.6.14",

## Description

I'm using `@react-navigation/material-top-tabs`. When I navigate to a view that's not part of the tab navigator, but still in a stack, it triggers a _onPageSelected originating from `react-native-pager-view` that causes the navigation to navigate away from the current view and to the first tab of the pager.
Note, it might be triggering _onPageScrollStateChanged also? The RN debugger is finicky and sometimes it was one or the other.

A detailed description [is provided here](https://github.com/react-navigation/react-navigation/issues/12129#issuecomment-2450593458) with some debugging.

## Reproducible Demo

https://snack.expo.dev/@phazei/react-native-material-tab-bug?platform=android

On android, click the second tab, then click the link on the second tab and you can see it blink to the hello screen, and then be forced back to tab 1.

This was the minimal example, but in production, it actually lets it get to the hello screen, but then clicking another navigation link that's a sibling to hello, forces it back to tab 1. It's caused by the same _onPageSelected or _onPageScrollStateChanged.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。