inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

Random Number Generator 학습중 children: [] 리스트에 List<dynamic> 을 넣는 방법을 문의드립니다.

172

Ho Yong Jung

작성한 질문수 1

0

Random Number Generator 학습중 children: [] 리스트에 List<dynamic> 을 넣는 방법을 문의드립니다.

return [
  ['1', '2', '3'],
  ['4', '5', '6'],
  ['7', '8', '9'],
]
    .map((e) => Row(
  children: e
      .map(
        (e) => Text(

이렇게는 적용될 때는 <Widget> 타입으로 캐스팅되어 잘 실행되는 것 같습니다.

List test = [
  ['1', '2', '3'],
  ['4', '5', '6'],
  ['7', '8', '9'],
];

return test
    .map((e) => Row(
  children: e
      .map(
        (e) => Text(

이렇게 하면 type 'List<dynamic>' is not a subtype of type 'List<Widget>' 이렇게 나오네요.
children 의 정의가 List<Widget> 이서 그런것으로 생각됩니다.

일일이 <Widget> 으로 캐스팅해서 타입을 맞추어 넣는다면 배보다 배꼽이 더 큰 것 같아서 이런 경우 간단한 방법이 있는지, 어떻게 구현하면 좋을 지 문의드립니다.

 

flutter 클론코딩

답변 1

0

코드팩토리

안녕하세요!

children 파라미터에 List<Widget> 대신 List<dynamic>을 넣을 수 있는 방법에대한 질문 맞으실까요?

그런 방법은 존재하지 않습니다. 오히려 되면 절대로 안된다고 말하는게 맞을 것 같습니다.

children 파라미터에 List<Widget> 만 입력 될 수 있도록 정의가 돼있으니 당연히 List<Widget>만 넣을 수 있어야 합니다.

혹시 제가 질문을 잘못 이해했다면 다시 질문 주세요!

감사합니다!

0

Ho Yong Jung

네 답변 감사합니다.

질문의 의도는 그게 맞습니다만.. dymanic 을 Widget 으로 캐스팅 해서 넣을 수 있는 방법을 여쭤본다기보다는 children 에 [ ['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ] 을 직접 입력하지 않고 메소드나 파라메터로 받아서 만들고 싶어서 단순히 List 로 선언해서 넣다보니 dynamic 이라 되지 않아 어떻게 외부에서 받아서 올 수 있을까를 질문드렸던 것이었어요.

고민해보다가 아래처럼 명시적으로 선언하니 잘되었습니다.

 

List<List<String>> test = [
  ['1', '2', '3'],
  ['4', '5', '6'],
  ['7', '8', '9'],
];

return test
    .map((e) => Row(
  children: e
      .map(
        (e) => Text(


감사합니다.

0

코드팩토리

아 제가 질문을 잘못 이해 했나보군요!

타입 말씀하신대로 선언하시면 됩니다!

198강 (){onTap(e);}의 이해 돕기

0

26

1

video_call 플러그인 설치후 에러 발생

0

45

1

SDK 안드로이드 설치 질문!

0

60

1

코드팩토리 디스코드 링크 다시 부탁드려요~

0

92

1

Webview를 이용해서 URL 상의 페이지 출력 불가

0

70

1

홈스크린 함수를 함축해서 main.dart에 옮기는 문제

0

55

1

플레이스토어

0

59

1

아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?

0

55

1

가이드라인 질문

0

57

0

emulator 에러 환경설정 뭐가 문제 일까요??

0

76

1

emulator 실행 오류

0

93

3

Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련

0

71

1

pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의

0

43

1

setState()를 호출하지 않으면 build가 실행 안되는 건가요?

0

53

1

video_call 플러그인 설치시 에러문제

0

64

1

children 안의 if 문에서 { } 못쓰는 이유?

0

48

1

이렇게 오류가 떠요

0

63

1

AppBar 사용했는데

0

61

2

[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다

0

56

1

StatefulWidget 실습 에러가 발생합니다.[해결완료]

0

63

1

Video Player 프로젝트에 대한 추가 질문

0

53

0

Row위젯이나 column위젯의 위치는 누가 정하나요??

0

42

1

geolocator 오류때문에 개발진행이 불가능입니다

0

63

1

API 관련 이슈

0

86

2