공급자 대 ValueNotifier Flutter

모 레즈

누군가 Provider 패키지 사용과 ValueNofifier 사용의 차이점을 설명 할 수 있습니까 ?

지금 은 내 앱에서 ValueNotifierValueListenableBuilder사용하고 있는데 이것과 공급자와 소비자를 사용하는 것 사이에 많은 유사점이 있습니다. 둘 다 제공된 최신 데이터로 위젯을 다시 빌드하는 리스너가 있으며 둘 다 ChangeNotifier 및 notifyListeners를 사용합니다.

그렇다면 차이점은 무엇이며 언제 다른 것 대신 하나를 선택해야합니까?

감사

알록

내 경험이 앱에서 두 가지를 모두 사용하는 것에 관한 한, 주요 차이점은

Provider를 사용하는 모든 위치와 같이 앱의 모든 부분에서 변경 사항을 제공 notifyListener()할 수 있으며 앱의 어느 곳에서나 액세스 할 수 있습니다. 그러나 권장되지 않는 globalValueNotifier 을 사용하면 버그가 발생할 가능성이 있습니다. 기술적으로는 코드가 커질 때 버그 추적을 제어 할 수 없습니다.

Provider(
  create: (_) => MyModel(),
  child: ...
)

기타 주요 차이점 :

Provider당신의 메이크업 사용의 전원을 제공합니다 여러 공급자 와의 만, 그러나 하나의 제공자 배열에 저장할 수 있습니다 ValueNotifier당신은 버전 많은 한 번에 하나 개의 값을 사용하도록 제한됩니다. 여러 ValueNotifier를 사용하려면 여러 ValueNotifier를 생성 한 다음 매번 폐기해야합니다.

MultiProvider(
  providers: [
    Provider<Something>(create: (_) => Something()),
    Provider<SomethingElse>(create: (_) => SomethingElse()),
    Provider<AnotherThing>(create: (_) => AnotherThing()),
  ],
  child: someWidget,
)

기본적으로 비즈니스 로직을 일반 앱 로직과 분리하여 유지하는 깔끔한 방법입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Flutter 공급자 : 특정 대상에 대한 notifyListeners ()

분류에서Dev

Flutter : 공급자 라이브러리 별 대화 표시

분류에서Dev

Flutter Riverpod context.read 대 빌드 메서드의 공급자

분류에서Dev

Flutter 공급자, Dart 구문에 대한 질문

분류에서Dev

공급자 대 ViewModel

분류에서Dev

Flutter 공급자 사용

분류에서Dev

공급자 .read () 대 .watch ()

분류에서Dev

"ValueNotifier"+ "ValueListenableBuilder"가 Flutter의 "많은"위젯에 적합합니까?

분류에서Dev

AnimatedSwitcher Flutter를 사용하는 공급자

분류에서Dev

Flutter의 다른 공급자로부터 공급자에 액세스

분류에서Dev

ADO.NET 공급자에 대한 Entity Framework 공급자가 없습니다.

분류에서Dev

Flutter 공급자가 UI를 업데이트하지 않음

분류에서Dev

Flutter의 공급자를위한 단위 테스트

분류에서Dev

Flutter에서 공급자에 액세스 할 수 없음

분류에서Dev

Flutter 공급자 상태 관리, 로그 아웃 개념

분류에서Dev

Flutter-공급자 값 변경시 PageView 변경 트리거

분류에서Dev

Flutter에서 공급자에 항목 추가

분류에서Dev

Flutter : FutureBuilder 위에서 공급자를 찾을 수 없습니다.

분류에서Dev

탐색 기능이있는 Flutter 공급자

분류에서Dev

Flutter-올바른 공급자를 찾을 수 없습니다.

분류에서Dev

올바른 공급자를 찾을 수 없습니다-Flutter ChangeNotificationProvider

분류에서Dev

flutter : 공급자가 statefulwidget에서 작동하지 않습니다.

분류에서Dev

공급자와 함께 Flutter에서 연결 패키지 사용

분류에서Dev

자바 공급자 인터페이스 대 호출 가능

분류에서Dev

null에 대한 다중 공급자 잘못된 멤버 : 공급자 구성의 '컬렉션'

분류에서Dev

공급자 이름이있는 동일한 품목에 대한 여러 공급자의 최소 가격

분류에서Dev

Websphere 8.0의 JMS-V5 기본 메시징 공급자 대 WebSphere MQ 메시징 공급자

분류에서Dev

my-app이라는 EntityManager에 대한 지속성 공급자 없음 : org.hibernate.ejb.HibernatePersistence라는 공급자

분류에서Dev

(공급자 : 명명 된 파이프 공급자, 오류 : 40-SQL Server에 대한 연결을 열 수 없음)

Related 관련 기사

  1. 1

    Flutter 공급자 : 특정 대상에 대한 notifyListeners ()

  2. 2

    Flutter : 공급자 라이브러리 별 대화 표시

  3. 3

    Flutter Riverpod context.read 대 빌드 메서드의 공급자

  4. 4

    Flutter 공급자, Dart 구문에 대한 질문

  5. 5

    공급자 대 ViewModel

  6. 6

    Flutter 공급자 사용

  7. 7

    공급자 .read () 대 .watch ()

  8. 8

    "ValueNotifier"+ "ValueListenableBuilder"가 Flutter의 "많은"위젯에 적합합니까?

  9. 9

    AnimatedSwitcher Flutter를 사용하는 공급자

  10. 10

    Flutter의 다른 공급자로부터 공급자에 액세스

  11. 11

    ADO.NET 공급자에 대한 Entity Framework 공급자가 없습니다.

  12. 12

    Flutter 공급자가 UI를 업데이트하지 않음

  13. 13

    Flutter의 공급자를위한 단위 테스트

  14. 14

    Flutter에서 공급자에 액세스 할 수 없음

  15. 15

    Flutter 공급자 상태 관리, 로그 아웃 개념

  16. 16

    Flutter-공급자 값 변경시 PageView 변경 트리거

  17. 17

    Flutter에서 공급자에 항목 추가

  18. 18

    Flutter : FutureBuilder 위에서 공급자를 찾을 수 없습니다.

  19. 19

    탐색 기능이있는 Flutter 공급자

  20. 20

    Flutter-올바른 공급자를 찾을 수 없습니다.

  21. 21

    올바른 공급자를 찾을 수 없습니다-Flutter ChangeNotificationProvider

  22. 22

    flutter : 공급자가 statefulwidget에서 작동하지 않습니다.

  23. 23

    공급자와 함께 Flutter에서 연결 패키지 사용

  24. 24

    자바 공급자 인터페이스 대 호출 가능

  25. 25

    null에 대한 다중 공급자 잘못된 멤버 : 공급자 구성의 '컬렉션'

  26. 26

    공급자 이름이있는 동일한 품목에 대한 여러 공급자의 최소 가격

  27. 27

    Websphere 8.0의 JMS-V5 기본 메시징 공급자 대 WebSphere MQ 메시징 공급자

  28. 28

    my-app이라는 EntityManager에 대한 지속성 공급자 없음 : org.hibernate.ejb.HibernatePersistence라는 공급자

  29. 29

    (공급자 : 명명 된 파이프 공급자, 오류 : 40-SQL Server에 대한 연결을 열 수 없음)

뜨겁다태그

보관