오늘은 Provider 적용후 Generated route 를 통한 화면 전환시 데이터 공유에 대해서 정리했습니다.
개발환경 : 윈도우11, 안드로이드 스튜디오(Arctic Fox 2020.3.1 Patch 4), flutter 2.10
소스코드 - Release 21_Provider_Access_generated_route · mike-bskim/provider_overview (github.com)
기본구조는 Named route 와 비슷하다. routes 대신에 onGenerateRoute 를 추가하면 된다.
// routes: {
// '/': (context) => ChangeNotifierProvider.value(
// value: _counter,
// child: const MyHomePage(),
// ),
// '/counter': (context) => ChangeNotifierProvider.value(
// value: _counter,
// child: const ShowMeCounter(),
// ),
// },
onGenerateRoute: (RouteSettings settings) {
switch (settings.name) {
case '/':
return MaterialPageRoute(
builder: (context) => ChangeNotifierProvider.value(
value: _counter,
child: const MyHomePage(),
),
);
case '/counter':
return MaterialPageRoute(
builder: (context) => ChangeNotifierProvider.value(
value: _counter,
child: const ShowMeCounter(),
),
);
default:
return null;
}
},
'Flutter > 07 State - Provider' 카테고리의 다른 글
[Flutter] ProxyProvider - create, update (0) | 2022.05.06 |
---|---|
[Flutter] ProxyProvider - update (0) | 2022.05.06 |
[Flutter] Provider Access - Named route (0) | 2022.05.06 |
[Flutter] Provider Access - Anonymous route (0) | 2022.05.06 |
[Flutter] Could not find the correct Provider (0) | 2022.05.05 |