画面(私の場合はタブ)にリストビューがあり、タブを再度選択すると(すでに選択されている)、新しいコンポーネントがインスタンス化されます。
たとえば、リストをスクロールしてからTabボタンをタップすると、スクロールが一番上に移動します。 これは最初にのみ発生するため、タブボタンをもう一度タップしても、何も起こりません(これは、予想される動作だと思います)。
シーン内を移動するときに同じことが「時々」(正確にいつかはわかりません)発生します。以前のコンポーネントの状態が失われるため、これが発生するはずではないと思います。
私が使用しているバージョン:
react-native-router-fluxを使用すると、v3.37.0は期待どおりに機能する(画面を再レンダリングしない)ため、v3.38.0またはその依存関係のバグのようです。
はい、同じ問題に直面し、3.37.0にロールバックします
3.37でも同じ問題に直面しています
3.37.0で問題が解消されたが、3.38.0では存在することを確認できます。
@ sk15973
新しいパッケージをインストールした後、必ずreact-nativeパッケージャーを再起動してください。
また、それに応じてcomponentDidMount / componentWillMount / componentWillReceivePropsを使用し、状態に多くの不要な変更を加えないようにしてください。
ここで同じ問題。
@ sk15973 package.json
ファイルで、 react-native-router-flux
依存関係にキャレット(^)記号が含まれていないことを確認してください。
"dependencies": {
"react-native-router-flux": "3.37.0", // Good
"react-native-router-flux": "^3.37.0", // Bad
}
キャレット記号を使用すると、新しいnpm install
を実行するときに、実際にv3.38.0を使用します。 これは、マイナーリリースで動作の変更を導入することにより、 react-native-router-flux
がsemverを壊したように見えるためです。
タグ付けしてくれた@aksonovを許してください。ただし、 npm install react-nativer-router-flux --save
を使用すると、デフォルトでキャレット^が挿入されるため、これはやや深刻だと思います。 時間の経過とともに、このライブラリのユーザーは、新しいnpm install
実行した後、不可解な問題に直面する可能性があります。 しかし、時間がない場合は完全に理解しています:)
私は3.38で同じ問題に直面しています
@jonrhありがとう、私はそれに気づかなかった、そしてそれは今うまくいく
@EmiPC @jonrhこのバグは3.39.1で解決されましたか?
@iiitmahesh残念ながらわかりません。 バージョン3.37.0は、このライブラリを使用する最後のバージョンであり、ReactNavigationに移行します。
最も参考になるコメント
react-native-router-fluxを使用すると、v3.37.0は期待どおりに機能する(画面を再レンダリングしない)ため、v3.38.0またはその依存関係のバグのようです。