I am developing Flutter with Redux. When a user starts an application, I want Redux to automatically dispatch an action . This action will make the Navigator push different routes dependently. This snippet provided by a Flutter dev member uses the GlobalKey to use the Navigator inside the middleware . Following this, I organize my code as follows: main.dart void main() { final store = new Store(appStateReducer, middleware:createRouteMiddleware() ); runApp(new MyApp(store)); } class MyApp extends StatelessWidget { final Store<AppState> store; MyApp(this.store); @override Widget build