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:
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.
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.