//참고 List<Drink> stateDrink;
...stateDrink //@@@@여기가 중요
.map(
(drink) => DrinksWidget(
drink: drink,
onChanged: (value) {
StoreProvider.of<AppState>(context).dispatch(UpdateDrinkAction(drink));
},
),
).toList(),
예전부터 알고싶어했던 문법인데 Dart를 하다보니 이상한 문법들이 종종 등장한다. 매우 편리한 문법들이라고는 하는데 처음이라그런지 익숙지않아 어렵게 느껴진다 ㅠㅠ
이 문법을 아는데 까지는 오래 걸리지 않았다. 관련 검색키워드로는 Spread Operator, Tripple Dot이라고 치면 금방 설명을 매우 잘해둔 정보들이 나온다.
위의 문법을 간략하게 핵심만 정리해서 풀어보겠다. 나머지 더 필요한 정보는 위의 키워드로 검색하길 추천!
[참조]https://www.woolha.com/tutorials/dart-using-triple-dot-spread-operator-examples
List<int> l1 = [1, 2, 3];
List<int> result = [0, ...l1];
print(result);
// 결과 : 0,1,2,3
이 코드만 보더라도 '...' 이 녀석은 변수의 소스들을 하나씩 접근해서 리턴해주는 역할을 하고 있다.
보통 우리는 List 데이터에 접근할 때 For문으로 Index접근을 하기 마련인데 ...<-이 기능을 쓴다면
굳이 그럴 필요가 없다.
...stateDrink
.map(
(drink) => DrinksWidget(
//생략...)
)).toList()
stateDrink는 List 자료구조로 "..."으로 인덱스 접근이 가능하다.
각각의 인덱스에 접근해 맵으로 값을 삭제, 수정등을 할 수 있다. 이렇게 하면 굳이 For문을 쓸 필요가 없어진다.
마지막에 toList로 리스트로 다시 바꿔서 형태를 보존하기 위함인데 이건 내가 코드 짜다가 필요하여 넣어둔거니 이부분은 신경쓸 필요가 없다.
fromMap 이해안되서 구글링하다가 들어왔는데
저는 비전공자출신으로 현재 개발자가 되기위해서 플러터배우고있습니다. 또 플러터는 시작한지 1달이 안됐지만 저두 앱 출시를 목표로 배우고있습니다 최근 게시글이 없어서 근황이 궁금한데여 블로그 게속 활동하시나요?