React-native-router-flux: Durch Auswahl der aktuellen Bildschirmregisterkarte wird eine neue Komponente instanziiert

Erstellt am 3. März 2017  ·  9Kommentare  ·  Quelle: aksonov/react-native-router-flux

Ich habe eine Listenansicht in einem Bildschirm (in meinem Fall eine Registerkarte) und wenn ich die Registerkarte erneut auswähle (sie ist bereits ausgewählt), wird eine neue Komponente instanziiert.

Wenn ich beispielsweise durch die Liste scrolle und dann auf die Tab-Schaltfläche tippe, wird das Scrollen nach oben verschoben. Es passiert nur beim ersten Mal, wenn Sie also erneut auf die Tab-Schaltfläche tippen, passiert nichts (und das ist das erwartete Verhalten, denke ich).

Dasselbe passiert "manchmal" (weiß nicht genau wann), wenn Sie sich innerhalb von Szenen bewegen, und ich denke nicht, dass dies passieren sollte, da Sie den vorherigen Komponentenzustand verlieren.

Von mir verwendete Versionen:

  • React-native-Router-Flux v3.38.0
  • reaktiv-nativ v0.42.0
  • Android-Simulator
bug

Hilfreichster Kommentar

Mit React-native-router-flux funktioniert v3.37.0 wie erwartet (kein erneutes Rendern des Bildschirms), daher scheint es ein Bug mit v3.38.0 oder seinen Abhängigkeiten zu sein.

Alle 9 Kommentare

Mit React-native-router-flux funktioniert v3.37.0 wie erwartet (kein erneutes Rendern des Bildschirms), daher scheint es ein Bug mit v3.38.0 oder seinen Abhängigkeiten zu sein.

Ja, mit dem gleichen Problem, Rollback auf 3.37.0

Ich habe das gleiche Problem auch in 3.37 issue

Ich kann bestätigen, dass das Problem in 3.37.0 verschwindet, aber in 3.38.0 existiert.

@sk15973
Stellen Sie sicher, dass Sie nach der Installation eines neuen Pakets den React-Native-Packer neu starten.

Stellen Sie außerdem sicher, dass Sie componentDidMount/componentWillMount/componentWillReceiveProps entsprechend verwenden und nicht viele unnötige Änderungen am Zustand vornehmen.

Gleiches Problem hier.

@sk15973 Stellen Sie in Ihrer package.json Datei sicher, dass Ihre react-native-router-flux Abhängigkeit nicht das Caret-Symbol (^) enthält:

"dependencies": {
    "react-native-router-flux": "3.37.0",   // Good
    "react-native-router-flux": "^3.37.0", // Bad
}

Mit dem Caret-Symbol werden Sie v3.38.0 tatsächlich verwenden, wenn Sie ein neues npm install ausführen. Dies liegt daran, dass react-native-router-flux anscheinend den Server kaputt gemacht hat, indem er eine Verhaltensänderung in einer Nebenversion eingeführt hat.

Bitte verzeihen Sie mir @aksonov, dass ich Sie npm install react-nativer-router-flux --save . Im Laufe der Zeit könnten Benutzer dieser Bibliothek kryptische Probleme bekommen, nachdem sie neue npm install . Aber ich verstehe total, wenn du keine Zeit hast :)

Ich stehe vor dem gleichen Problem in 3.38

@jonrh danke, das war mir nicht aufgefallen und jetzt funktioniert es einwandfrei fine

@EmiPC @jonrh Ist dieser Fehler in 3.39.1 behoben ???

@iiitmahesh Ich weiß es leider nicht. Version 3.37.0 ist die letzte, die ich von dieser Bibliothek verwenden werde, die zu React Navigation migriert.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

sreejithr picture sreejithr  ·  3Kommentare

wootwoot1234 picture wootwoot1234  ·  3Kommentare

xnog picture xnog  ·  3Kommentare

moaxaca picture moaxaca  ·  3Kommentare

rafaelcorreiapoli picture rafaelcorreiapoli  ·  3Kommentare