Tear-offs| Flutter 디코딩 하기

valas·2022년 1월 19일
0

플러터 디코딩

목록 보기
3/6

동영상

https://www.youtube.com/watch?v=OmCaloD7sis&list=PLjxrf2q8roU1fRV40Ec8200rX6OuQkmnl&index=2

정리

tear-off
콘서트 티켓을 찢어낸다.
찢을 수 있는 부분을 때어낸다 - 코드에서 덜어낼 수 있는 부분을 덜어내어 간소화 한다.

기본 위젯이 나중에 부를 수 있도록, 즉시 호출하지 않고 파라미터로서의 함수를 지원하는 방법을 Dart에서 tear-off 라고 한다.

tear-off 전

ElevatedButton(
  onPressed: (){
    myHandler();
  }, 
  child: ...,
)

tear-off 후

ElevatedButton(
  onPressed: myHandler, 
  child: ...,
)
  • 생성자는 tear-off로 사용될 수 없는 메서드였지만 지금(dart 2.15)은 사용 가능함.

그 외 (댓글에서 찾은 것들)

  • tear-off가 람다 익명함수보다 좋은가?
    • tear-off는 함수 오브젝트를 직접 사용한다.
    • 하지만 람다는 새 함수를 만든 다음 이것을 실행한다.
    • Stateful widget 에서 재 갱신될 때 람다는 계속 새로 만들어지지만,
    • tear-off 한 것은 이미 만들어진 레퍼런스를 넘긴다.
  • tear-off에서 인풋 파라미터가 있을 땐 어떻게 하는가?
    • TextField 의 onChanged, onSubmitted 같은 것은 자동으로 값을 넘겨준다.

0개의 댓글