Eu tenho um listview em uma tela (no meu caso, uma aba) e se eu selecionar a aba novamente (estando já selecionada), um novo componente é instanciado.
Por exemplo, se eu rolar a lista e tocar no botão guia, a rolagem irá para o topo. Isso só acontece na primeira vez, então, se você tocar no botão guia novamente, nada acontecerá (e esse é o comportamento esperado, eu acho).
O mesmo acontece "às vezes" (não sei exatamente quando) ao mover-se dentro das cenas e não acho que isso deva acontecer porque você perderá o estado dos componentes anteriores.
Versões que estou usando:
Com o react-native-router-flux v3.37.0 funciona como esperado (não re-renderizar a tela), então parece um bug com v3.38.0 ou suas dependências.
Sim, enfrentando o mesmo problema, voltando para 3.37.0
Eu enfrento o mesmo problema mesmo em 3,37
Posso confirmar que o problema desaparece no 3.37.0, mas existe no 3.38.0.
@ sk15973
Certifique-se de reiniciar o empacotador react-native depois de instalar um novo pacote.
E também certifique-se de usar componentDidMount / componentWillMount / componentWillReceiveProps de acordo e não faça muitas mudanças desnecessárias no estado.
O mesmo problema aqui.
@ sk15973 Em seu arquivo package.json
, certifique-se de que sua dependência react-native-router-flux
não inclua o símbolo circunflexo (^):
"dependencies": {
"react-native-router-flux": "3.37.0", // Good
"react-native-router-flux": "^3.37.0", // Bad
}
Com o símbolo circunflexo, você realmente usará a v3.38.0 quando fizer um npm install
. Isso ocorre porque react-native-router-flux
parece ter quebrado o semver ao introduzir uma mudança no comportamento em uma versão menor.
Por favor, perdoe-me @aksonov por marcar você, mas acredito que isso seja um pouco sério porque o acento circunflexo ^ é inserido por padrão ao usar npm install react-nativer-router-flux --save
. Com o tempo, os usuários desta biblioteca podem se encontrar em problemas enigmáticos depois de fazer npm install
. Mas eu entendo perfeitamente se você não tiver tempo:)
Eu enfrento o mesmo problema no 3.38
@jonrh obrigado, eu não tinha notado isso, e funciona bem agora
@EmiPC @jonrh Este bug foi resolvido na 3.39.1 ???
@iiitmahesh Infelizmente não sei. A versão 3.37.0 é a última que usarei desta biblioteca, migrando para o React Navigation.
Comentários muito úteis
Com o react-native-router-flux v3.37.0 funciona como esperado (não re-renderizar a tela), então parece um bug com v3.38.0 ou suas dependências.