Flutter 3버전에서 WidgetsBinding, SchedulerBinding 같은

바인딩의 인스턴스 속성은 이제 null을 허용하지 않도록 업데이트 되었습니다.

즉, nullable 연산자 ? 사용하는 코드는 non-null 연산자 !로 변환하라는 Warning 로그를 친절하게(?) 출력해 줍니다.

하지만 많은 개발자들이 hot-reload 할때마다 뜨는 워닝이 불편했습니다. 물론 저도요 :(

: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
../…/src/smart_refresher.dart:513
- 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../development/flutter/packages/flutter/lib/src/widgets/binding.dart').
package:flutter/…/widgets/binding.dart:1
      WidgetsBinding.instance!.addPostFrameCallback((_) {
                     ^
: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
../…/src/smart_refresher.dart:765
- 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../development/flutter/packages/flutter/lib/src/widgets/binding.dart').
package:flutter/…/widgets/binding.dart:1
    WidgetsBinding.instance!.addPostFrameCallback((_) {

터미널에 아래 명령어로 픽스를 합니다.

dart fix --apply

외부 패키지의 경우에는 패키지 버전을 업데이트 해봅니다.

그래도 여전히 이슈해결이 안된다면 패키지 제작자가 아직 업데이트를 하지 않은것입니다..

2022년 7월 현재 어느정도 인지도 있는 패키지는 fix 된것 같습니다

해당 Warning 로그가 출력안되게 필터링 하셔도 됩니다 :)

+ Recent posts