provider | Flutter Package

<aside> 💡 InheritedWidget 을 가용성과 재사용성을 높일 수 있게 해주는 wrapper 플러그인

</aside>

InheritedWidget을 직접 사용하지 않고 Provider를 이용하면 얻을 수 있는 이점은 다음과 같다.

  1. 리소스의 할당과 해제를 간략화한다.
  2. lazy-loading 속성을 부여한다.
  3. 매번 새로운 클래스를 만들면서 생기는 대량의 보일러플레이트를 생략한다.
  4. 플러터의 devTool에 친화적인 플러그인으로 앱의 상태를 devTool에서 볼 수 있다.
  5. 생성된 InheritedWidget 을 소모하는 일반적인 방법을 제공한다
  6. 알림을 발송하는데 시간복잡도가 $O(n)$인 ChangeNotifier 같은 기하급수적인 시간복잡도 수신 메커니즘을 가진 클래스들의 확장성을 향상시킨다.

프로바이더 생성 방법

프로바이더 생성 방법은 2가지가 있다.

확장 메소드

BuildContext 객체의 확장 메소드를 제공하며, 이를 통해 값을 쉽게 읽어올 수 있다.

Provider.of<T>(context, listen: ture / false)) 를 간결화 한 메소드이다.