메모 앱 만들기 02. Provider

WACK·2023년 7월 5일
post-thumbnail

상태관리

최신 상태의 데이터를 보여주도록 페이지 간 데이터를 주고받고 관리하는 행위

flutter_provider 패키지 설치

  • 다음 명령어를 실행하여 flutter_provider 패키지를 설치한다 (터미널실행)
flutter pub add flutter_provider

Provider 란 ?

Flutter에서는 크게 두 종류의 위젯이 존재한다. 하나는 상태를 가지지 않는 Stateless Widget과 상태를 가지고 있는 Stateful Widget.
Statefule Widget은 한 위젯 안에서 상태(데이터)를 가지고 해당 상태의 변화에 따라 화면에 표시되는 UI를 변경한다.

만약, 다른 위젯에서 동일한 상태(데이터)가 필요한 경우에는?

상태를 공유하는 두 위젯의 공통 부모 위젯을 Stateful Widget으로 만들고, 자식 위젯을 생성할 때, 파라메터로 해당 상태를 전달하면, 두 위젯 사이에서 동일한 상태를 사용할 수 있다.

하지만 상태를 표시하기 위해 불필요한 위젯들이 Re-build되면서 성능 이슈가 나타날 수 있다. Provider는 이 문제를 해결하기 위해 등장했으며, 이렇게 동일한 상태(데이터)를 전역적으로 다른 위젯들과 공유할 때 사용한다.

Provider를 사용할 때에는, 위젯 트리와 상관없이 상태(데이터)를 저장할 클래스를 생성하고, 해당 상태를 공유하는 공통 부모 위젯에 Provider를 제공(Provide)하고, 상태를 사용하는 곳에는 Provider의 데이터를 읽어서 사용하게 된다.

profile
앱 개발자 지망생

0개의 댓글