#flutter
Вопрос:
Я смотрел учебник, и у инструктора есть немного более старая версия Flutter, поэтому поведение домашнего маршрута, похоже, отличается от того, что у меня есть сейчас. Тем не менее, я хотел бы понять, почему поведение отличается.
У меня есть эта логика маршрута в моем main.dart
файле:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
child: Consumer<Auth>(
builder: (_, auth, __) => MaterialApp(
title: 'Shop app',
home: auth.isAuthenticated ? ProductsOverviewScreen() : AuthScreen(),
routes: {
ProductsOverviewScreen.routeName: (_) => ProductsOverviewScreen(),
AuthScreen.routeName: (_) => AuthScreen(),
},
),
),
);
}
}
Поэтому у меня есть этот троичный оператор для home
маршрута , и когда auth.isAuthenticated
он меняется false
, я не перенаправляюсь на AuthScreen
страницу.
Однако инструктор перенаправил его (проверил, совпадает ли наш код).
Но! Я понял, что вместо удаления home
и размещения '/'
маршрута:
'/': (_) => auth.isAuthenticated ? ProductsOverviewScreen() : AuthScreen(),
заставляет его работать так, как задумано — как только auth.isAuthenticated
изменяется на false, я перенаправляюсь на AuthScreen
.
Так в чем же причина того, что он больше не работает home
?