NO uses push(), usa pushReplacement() en el Navigator con las rutas
Te cuento una anedtoda sobre porqué debes de usar pushReplacement() con el Navigator al momento de navegar en las páginas de tus rutas.
Te cuento una anedtoda sobre porqué debes de usar pushReplacement() con el Navigator al momento de navegar en las páginas de tus rutas.
Te quería contar una anécdota que me pasó al momento de crear aquí la aplicación de desarrolloLibre que es la que está viendo en pantalla el problema es justamente aquí con el componente de DrawerComponent que es el que me permite navegar entre las diversas páginas justamente aquí era el problema para el listado de todos los cursos que cuando entraba en el detalle de alguno de ellos por ejemplo este y luego para ir al detalle de otro curso tenía que darle aquí un click y darle aquí a todos los cursos es decir puedes ver que siempre la navegación pasa por el DrawerComponent y voy al otro curso aquí yo estaba colocando antes era el Navigator.push(); cuál era el problema, con el Navigator.push() que lo que hace es encolar cada una de las vistas anteriores por lo tanto cada vez que hace aquí el Navigator.push() a la final si le daba atrás regresaba al curso anterior y así es decir si necesitaba 10 cursos tenía esos 10 cursos encolados y cuál era el problema, que cuando hacía el dispose() en el widget de los cursos básicamente esta propiedad que tenemos aquí la de se mezclaba con el estado de otra anterior de otra de las páginas anteriores y con esto obviamente la aplicación iba a crashear cuando se salía de rango cuando intentaba consumir alguno de los listados de las clases que tengo por acá entonces muy pendiente con eso aquí Lo importante es notar qué es lo que realmente necesita tu aplicación para poder funcionar correctamente en este caso para mí no tenía sentido de tener encolado todas estas vistas anteriores ya que eso lo que hacía era simplemente gastar recursos adicionales, que en este caso lo mejor que podemos hacer aquí era colocar el Navigator.pushReplacement() para que reemplace siempre a la página anterior.
- Andrés Cruz
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter
Acepto recibir anuncios de interes sobre este Blog.
!Cursos desde!
10$
En Udemy
Quedan 2d 20:33!
!Cursos desde!
4$
En Academia
Ver los cursos!Libros desde!
1$
Ver los libros