최근 SPA 기반의 앱개발을 하면서 공통적으로 화면간의 데이터 관리, 즉 화면에서 특정 데이터 셋을 사용하고 쓰는 방법에 대해서 플러터에서는 BLOC, Provider 두가지 선택지가 있습니다.
BLOC 패턴은 Provider에 비해 사용법이 다소 귀찮음이 있는지라, Provider 를 이용한 방법을 기록합니다. 최근 Flutter 에서 2 버전대로 오면서 관련 패키지들이 해당 버전특징에 맞춰 업데이트 및 사용법들이 바뀌는 것들이 다소 발생되었습니다.
이 글에서 사용하는 버전은 아래와 같습니다.
Flutter 2.5 / Provider 6.0.0
dependencies:
provider: ^6.0.0
main.dart
void main() async {
runApp(MultiProvider(providers: [
Provider<SampleStore>(
create: (_) => SampleStore(),
)
], child: const MyApp()));
}
List data = await context.read<SampleStore>().getSampleData();