반응형
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
children: 123
.toString()
.split('')
.map(
(x) => Image.asset(
'asset/img/$x.png',
height: 70.0,
width: 50.0,
),
)
.toList()),
Row(
children: 456
.toString()
.split('')
.map(
(x) => Image.asset(
'asset/img/$x.png',
height: 70.0,
width: 50.0,
),
)
.toList()),
Row(
children: 789
.toString()
.split('')
.map(
(x) => Image.asset(
'asset/img/$x.png',
height: 70.0,
width: 50.0,
),
)
.toList()),
],
)),
1. 패턴 파악
- Row가 3개 있다.
2. 다른 것 파악
- 숫자만 다름
3. 다른 것만 빼기
4. 나머지 같은 부분에서 mapping하기
(위의 경우 Row부터 mapping하기)
하나씩 단계별로 수행 한 결과를 보자
다른 것을 뺸다.
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
123,
456,
789,
]
나머지 같은 부분에서 mapping하기
(위의 경우 Row부터 mapping하기)
.map(
(x) => Row(
children: x
.toString()
.split('')
.map(
(y) => Image.asset(
'asset/img/$y.png',
height: 70.0,
width: 50.0,
),
)
.toList(),
),
)
.toList() //map의 괄호가 끝나는 부분 toList
)),
중복을 최소화 한 코드
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
123,
456,
789,
]
.map(
(x) => Row(
children: x
.toString()
.split('')
.map(
(y) => Image.asset(
'asset/img/$y.png',
height: 70.0,
width: 50.0,
),
)
.toList(),
),
)
.toList() //map의 괄호가 끝나는 부분 toList
)),
아주 간단히 map으로 중복을 최소화 했다.
반응형
'Flutter > Flutter 기본' 카테고리의 다른 글
[Flutter] Button 종류와 설정 (0) | 2023.05.11 |
---|---|
[Flutter] 코드 정리 (2) | 2023.05.01 |
[Flutter]날짜와 시간에 관한 위젯(DateTime/duration,difference) (0) | 2023.04.21 |
[Flutter] state를 상위트리에서 관리하기 (4) | 2023.04.20 |
[Flutter] 이미지, 폰트 등록 (0) | 2023.04.19 |