React-native-router-flux: Selecionar a guia da tela atual instancia um novo componente

Criado em 3 mar. 2017  ·  9Comentários  ·  Fonte: aksonov/react-native-router-flux

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:

  • react-native-router-flux v3.38.0
  • react-nativo v0.42.0
  • Simulador Android
bug

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.

Todos 9 comentários

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.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

xnog picture xnog  ·  3Comentários

VictorK1902 picture VictorK1902  ·  3Comentários

willmcclellan picture willmcclellan  ·  3Comentários

fgrs picture fgrs  ·  3Comentários

maphongba008 picture maphongba008  ·  3Comentários