the element type 'List<widget>' can't be assigned to the list type 'Widget'

2020년 09월 06일 by 진아사랑해

    the element type 'List<widget>' can't be assigned to the list type 'Widget' 목차
반응형

리스트로서 리스트를 감싸는(wrapping) 경우에 에러가 발생한다.

예) 

return new GridView.count(

    crossAxisCount: 2,

    padding: const EdgeInsets.all(10.0),

    crossAxisSpacing: 10.0,

    mainAxisSpacing: 10.0,

    children: <Widget>[getList()],  => 반환되는 List<Widget>을 다시 List로 감싸고 있다

);

 

List<Widget> getList() {

    List<Widget> childs = [];

    for (var i = 0; i < 10; i++) {

    childs.add(new ListItem('abcd ' + $i));

    }

   return childs;

}

 

이런 실수는 children: []의 경우에 소소하게 발생할 수 있다

리스트 타입을 반환받는 함수의 경우에 "children: 함수명" 이렇게 사용하여야 한다

 

반응형