Navigator 2.0 et rafraichissement

Hello tout le monde,

Je m’arrache les cheveux depuis plusieurs jours voir semaines sur mon code !!
Je viens de m’apercevoir que mon bug serait surement dû à un rafraichissement de mon navigator delegate.

Une fois mon écran créé et mon viewmodel instancié, mon navigateur semble se rafraichir et reconstruire le même écran et son viewmodel.

Dans cette vue, il n’y a aucun lien avec le routeur et je ne lui transmets donc pas d’événement. C’est juste au niveau de la bottom navigation bar que je peux switcher entre mes écrans mais je n’appuie pas dessus.

Qu’est ce qui pourrait déclencher un rafraichissement de mon navigator autre qu’un événement ?

Merci d’avance pour votre aide :slight_smile:

Bonjour @Tazooou,

Je ne suis pas certain de bien comprendre ton bug.
J’imagine que tu as placé ta bottom navigation bar dans ton Navigator et que l’apparition de tes différents écrans est appelée en fonction d’un index (ou _currentIndex plutôt)
Mais je ne comprends pas ce qu’il se passe concrètement. Que se passe-t-il quand tu passes d’un écran à l’autre via ta bottombar ?

Hello @Behache,

Oui c’est bien ça. J’ai deux onglets dans ma bottombar. Si je place mon index au démarrage sur l’index 0 et que je clique sur le deuxième onglet (index =1), la navigation se passe très bien.
Mais si je place mon index de départ à 1, il charge ma deuxième vue directement et là les ennuis commencent :slight_smile:
J’ai remarqué qu’il construisait plusieurs fois ma vue et mon viewModel alors que j’ai l’impression de ne pas appeler le navigator.
Pour moi, la seule manière de rafraichir le build du navigator, c’est en passant par le notifyListener. Je voulais savoir si il y avait un autre moyen parce que je n’ai pas l’impression de mobiliser cette fonction.

Coucou @Tazooou,

Désolé pour mon silence… gros weekend !
Suite à une excellente discussion entre @morey , @jmjoary et @PhilippeB , je me suis fait un petit template d’un bottomNavigationBar qui fonctionne avec le Router 2.0.
Je l’ai posté en public sur GitLab. Je te le partage donc. Il fonctionne, que je place mon index sur 0, 1 ou 2.
J’espère que tu pourras t’en inspirer pour résoudre ton problème.
Template ici

Bon courage, j’espère que tu vas rapidement résoudre ton problème.

1 « J'aime »

Hello @Behache,
Je vais regarder çà !! J’étais au fond de mon lit pendant quelques jours :slight_smile:
Merci pour ton aide :slight_smile: