• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

TodayBanner설계 7분경에 onDaySelected함수

23.10.25 14:51 작성 조회수 133

0

안녕하세요

코딩 기초가 없어서 너무 이상한 질문을 하는건 아닌지 죄송합니다만

TodayBanner 설계 7분경에

onDaySelected를 밖으로 빼는 이유가 있을까요?

원래 위치에 그대로 두고

this.widget.selectedDay= selectedDay;

이런식으로 코드 작성 하면 안되는 건지 궁금합니다.

 

답변 1

답변을 작성해보세요.

1

안녕하세요!

일단 첫번재로는 StatefulWidget의 프로퍼티는 내부에서 변경 할 수 있도록 돼있지 않습니다.

상태관리 강의를 다시 봐보시면 StatefulWidget의 프로퍼티가 변경되는 경우는 파라미터의 아규먼트가 변경 됐을때입니다.

두번째로는 외부로 콜백 함수를 빼주면 외부에서 원하는대로 함수를 조작 할 수 있습니다. 예를들면 콜백 함수를 실행할때 상위 위젯의 변수를 사용하기 용이합니다.

세번째로는 클래스(위젯)을 일반화 하는데 유용합니다. 예를들어 A라는 위젯을 B와 C라는 위젯에서 재사용 해야한다면 A위젯의 로직을 내부에 확정지은 경우 B와 C 위젯은 모두 같은 로직을 실행 할 수 밖에 없습니다.

하지만 A위젯의 기능을 밖으로 빼주면 B와 C에서 원하는대로 유동적으로 로직 정의가 가능해집니다.

감사합니다!