React-native-router-flux: Al seleccionar la pestaña de la pantalla actual se crea una instancia de un nuevo componente

Creado en 3 mar. 2017  ·  9Comentarios  ·  Fuente: aksonov/react-native-router-flux

Tengo una vista de lista en una pantalla (en mi caso, una pestaña) y si vuelvo a seleccionar la pestaña (que ya está seleccionada), se crea una instancia de un nuevo componente.

Por ejemplo, si desplazo la lista y luego toco el botón de tabulación, el desplazamiento irá a la parte superior. Solo sucede la primera vez, por lo que si tocas el botón de pestaña nuevamente, no sucederá nada (y ese es el comportamiento esperado, supongo).

Lo mismo sucede "a veces" (no sé exactamente cuándo) cuando se mueve dentro de las escenas y no creo que eso sea lo que debería suceder porque perderá el estado de los componentes anteriores.

Versiones que estoy usando:

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

Comentario más útil

Con react-native-router-flux v3.37.0 funciona como se esperaba (sin volver a renderizar la pantalla), por lo que parece un error con v3.38.0 o sus dependencias.

Todos 9 comentarios

Con react-native-router-flux v3.37.0 funciona como se esperaba (sin volver a renderizar la pantalla), por lo que parece un error con v3.38.0 o sus dependencias.

Sí, enfrentando el mismo problema, volviendo a 3.37.0

Me enfrento al mismo problema incluso en 3.37

Puedo confirmar que el problema desaparece en 3.37.0 pero existe en 3.38.0.

@ sk15973
Asegúrese de reiniciar el empaquetador react-native después de haber instalado un nuevo paquete.

Y también asegúrese de utilizar componentDidMount / componentWillMount / componentWillReceiveProps en consecuencia, y no haga muchos cambios innecesarios en el estado.

El mismo problema aquí.

@ sk15973 En su package.json , asegúrese de que su dependencia react-native-router-flux no incluya el símbolo de intercalación (^):

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

Con el símbolo de intercalación, en realidad usará v3.38.0 cuando haga un npm install . Esto se debe a que react-native-router-flux parece haber roto semver al introducir un cambio de comportamiento en una versión menor.

Por favor, perdóneme @aksonov por etiquetarlo, pero creo que esto es algo serio porque el signo de intercalación ^ se inserta de manera predeterminada cuando se usa npm install react-nativer-router-flux --save . Con el tiempo, los usuarios de esta biblioteca pueden encontrarse en problemas crípticos después de hacer npm install nuevos. Pero lo entiendo totalmente si no tienes tiempo :)

Me enfrento al mismo problema en 3.38

@jonrh gracias, no me había dado cuenta y ahora funciona bien

@EmiPC @jonrh ¿Este error se resolvió en 3.39.1 ???

@iiitmahesh Lamentablemente no lo sé. La versión 3.37.0 es la última que usaré de esta biblioteca, migrando a React Navigation.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

maphongba008 picture maphongba008  ·  3Comentarios

wootwoot1234 picture wootwoot1234  ·  3Comentarios

willmcclellan picture willmcclellan  ·  3Comentarios

moaxaca picture moaxaca  ·  3Comentarios

YouYII picture YouYII  ·  3Comentarios