Hello! Very good article, a lot better thank the official one. There's a little "bug" though.

You should not instantiate a GlobalKey<NavigatorState>() in the delegate's getter because every time the getter is called a new key is created, forcing the rebuild of the hole navigator (resetting the state and nullifying the transition animations between pages).

A simple solution would be to instantiate a key once in the delegate and then having the getter return it.

Or even better, doing this went quite well for me:

```

@override

final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();

```

which overrides the getter in a different but effective way!

--

--

Antonello Galipò

Flutter and Android developer with an enormous love for Yoga and hipster habits.