Flutter fireImmediately

이건선·2023년 7월 20일
0

Flutter

목록 보기
16/30

fireImmediately

addListener 메소드에서 사용되는 옵셔널 매개변수입니다. 이는 일반적으로 리스너가 추가되는 순간에 리스너가 즉시 실행될지 여부를 결정하는데 사용됩니다.

예제


...

  
  void initState() {
    super.initState();
    profileProv = context.read<ProfileProvider>();
    _removeListener =
        profileProv.addListener(errorDialogListener, fireImmediately: false);
    _getProfile();
  }

...

  void errorDialogListener(ProfileState state) {
    if (state.profileStatus == ProfileStatus.error) {
      errorDialog(context, state.error);
    }
  }

...

fireImmediately: true

  • 리스너는 등록과 동시에 즉시 활성화되어 현재 상태에 따른 처리를 수행합니다. 즉, 리스너는 현재 상태에 대한 액션이나 처리를 즉시 수행하게 됩니다.

fireImmediately: false

  • 리스너는 등록된 후 상태 변화가 발생했을 때에만 활성화됩니다. 즉, 리스너는 상태 변화에 따른 액션만 수행하고 현재 상태에 대해 반응하지 않습니다.

예제 코드 결과

fireImmediately는 false로 설정되어 있으므로, errorDialogListener는 ProfileProvider의 상태가 변화하면서 에러 상태로 바뀌었을 때만 실행됩니다. 즉, 리스너는 리스너가 등록되는 시점의 상태에 대해서는 반응하지 않습니다.

profile
멋지게 기록하자

0개의 댓글