https://www.youtube.com/watch?v=OmCaloD7sis
Dart 2.15의 특징 중에 하나인 Tear-offs에 대한 좀 더 재밋는 설명이 이어집니다.
기존 Dart 2.15는 아래 링크에 정리되어 있습니다.
2021.12.29 - [Flutter(플러터)/Dart] - Dart 2.15
Tear-off의 이해를 위해서 간단히 예를 몇가지 들겠습니다.
위 내용은 람다 내에 myHander 함수를 호출합니다. 그런데 이 때 tear-off를 사용할 때는 람다를 생성하지 말라고 경고 합니다.
왜나하면 위 내용은 tear-off를 사용하면 아래와 같은 코드로 충분하기 때문이죠.
굳이 익명함수(람다)를 사용하여 리소스 낭비를 할 필요가 습니다.
onTap: myHander,
위 내용 중에 주목할 부분은 onPressed이죠. 우리가 호출하는 것이 아니라 위젯이 나중에 호출할 수 있도록 제공하는 함수가 파라메터로 제공됩니다. 위 내용도 다음과 같이 변경될 수 있겠죠.
이러한 방식을 Dart에서는 Tear-off라고 합니다.
Tear-off는 불필요한 람다식을 사용하지 않고 함수를 파라미터나 변수로 사용하는 것입니다.
여기서 기존에 되지 않던 부분이 Tear-off로 적용된 추가로 설명합니다.
Constructor(생성자)는 Tear-off로 사용할 수 없었습니다.
위 데이터 클래스는 fromJson의 factory 생성자를 가집니다.
그리고 StateManager 클래스의 생성자에서 builder를 받고 있습니다.
다른 곳에서 StateManager를 생성할 때, 어떻게 해야 할까요?
기존에는 생성자에는 Tear-off를 지원하지 않기 때문에, 아래와 같이 람다를 사용하여 함수를 호출 합니다.
그럼 이제 Dart 2.15에서는 어떻게 하면 될까요?
Tear-off는 다음과 같이 한줄로 끝나게 됩니다.
굿이쥬?
'Flutter(플러터) > Flutter Package of the Week' 카테고리의 다른 글
SafeArea (0) | 2021.12.27 |
---|
댓글