Flutter Provider

이건선·2023년 7월 14일
0

Flutter

목록 보기
7/30
  1. Provider.of: 이 메서드는 위젯 트리의 주어진 컨텍스트에서 가장 가까운 Provider를 찾아 값을 얻습니다. 선택적으로 리스너를 건너뛸 수 있으며 (listen: false), 이 경우 위젯이 데이터 변경에 따라 다시 빌드되지 않습니다.

  2. notifyListeners(): ChangeNotifier의 메서드로서, 이 메서드를 호출하면 ChangeNotifier에 등록된 모든 리스너에게 알림을 보냅니다. 이를 통해 데이터가 변경되었음을 알리고, 이 변경을 수신하는 위젯들이 자동으로 다시 빌드될 수 있습니다.

  3. ChangeNotifierProvider: 이 클래스는 ChangeNotifier의 인스턴스를 생명주기에 따라 자동으로 제공합니다. ChangeNotifierProvider를 사용하면 자동으로 리스너를 설정하고, 위젯이 제거될 때 리스너를 제거합니다. 또한 데이터 변경 시 위젯을 자동으로 다시 빌드합니다.

  4. ChangeNotifierProvider.value: 기존 ChangeNotifier의 인스턴스를 제공하는 데 사용됩니다. ChangeNotifierProvider.value는 주로 상위 트리에서 이미 생성된 ChangeNotifier를 재사용하려는 경우에 사용됩니다.

  5. MultiProvider: 여러 Providers를 한꺼번에 제공할 수 있도록 해주는 위젯입니다. 각각의 Provider들은 독립적으로 작동하며, 상태 변경 시 해당 Provider를 사용하는 위젯만 다시 빌드됩니다.

  6. Consumer: 이 위젯은 주어진 Provider의 현재 상태를 사용하여 위젯을 빌드합니다. 이를 통해, 상태가 업데이트될 때마다 Consumer에 의해 빌드된 위젯도 자동으로 다시 빌드됩니다.

  7. Selector: 이 위젯은 Consumer와 비슷하지만, 특정 조건에 따라 위젯의 다시 빌드 여부를 결정하는 더 세밀한 제어를 제공합니다. 이를 통해 불필요한 위젯의 재빌드를 방지할 수 있습니다.

  8. FutureProvider: 이 provider는 Future를 사용하여 값을 제공합니다. 이를 사용하면 Future가 완료될 때까지 위젯 트리에서 사용할 기본 값을 제공할 수 있습니다.

  9. StreamProvider: 이 provider는 Stream을 사용하여 값을 제공합니다. 이를 사용하면 Stream의 최신 값을 위젯 트리에서 사용할 수 있습니다.

  10. ProxyProvider: 이 provider는 다른 provider의 상태를 기반으로 상태를 생성하거나 수정하는데 사용됩니다. 이를 통해 서로 다른 provider 간의 의존성을 표현할 수 있습니다.

profile
멋지게 기록하자

0개의 댓글