코딩

[다트] [오류] The argument type 'Widget' can't be assigned to the parameter type "PreferredSizeWidget?".

블루베리QA 2022. 9. 4. 19:18

Widget을 강의를 보면서 똑같이 썼음에도 오류가 발생한다.
'Widget' > 'PreferredSizeWidget'으로 변경하면 수정된다.

 


왜?

공식 홈페이지 내용

 

Scaffold 안에 적용하기 위해서는 PreferredSize class를 사용해야 한다고 나온다.

Scaffold 속의 appbar를 주석 처리하면, 정상으로 돌아온다.

따라서, Widget의 기능이 변한 것이 아니라, Scaffold에 넣는 Widget은 PrefferedSizeWidget을 사용해야 한다고 기억하면 된다.!


https://api.flutter.dev/flutter/widgets/PreferredSize-class.html

 

PreferredSize class - widgets library - Dart API

A widget with a preferred size. This widget does not impose any constraints on its child, and it doesn't affect the child's layout in any way. It just advertises a preferred size which can be used by the parent. Parents like Scaffold use PreferredSizeWidge

api.flutter.dev