TodayBanner설계 7분경에 onDaySelected함수
210
작성한 질문수 4
안녕하세요
코딩 기초가 없어서 너무 이상한 질문을 하는건 아닌지 죄송합니다만
TodayBanner 설계 7분경에
onDaySelected를 밖으로 빼는 이유가 있을까요?
원래 위치에 그대로 두고
this.widget.selectedDay= selectedDay;
이런식으로 코드 작성 하면 안되는 건지 궁금합니다.
답변 1
1
안녕하세요!
일단 첫번재로는 StatefulWidget의 프로퍼티는 내부에서 변경 할 수 있도록 돼있지 않습니다.
상태관리 강의를 다시 봐보시면 StatefulWidget의 프로퍼티가 변경되는 경우는 파라미터의 아규먼트가 변경 됐을때입니다.
두번째로는 외부로 콜백 함수를 빼주면 외부에서 원하는대로 함수를 조작 할 수 있습니다. 예를들면 콜백 함수를 실행할때 상위 위젯의 변수를 사용하기 용이합니다.
세번째로는 클래스(위젯)을 일반화 하는데 유용합니다. 예를들어 A라는 위젯을 B와 C라는 위젯에서 재사용 해야한다면 A위젯의 로직을 내부에 확정지은 경우 B와 C 위젯은 모두 같은 로직을 실행 할 수 밖에 없습니다.
하지만 A위젯의 기능을 밖으로 빼주면 B와 C에서 원하는대로 유동적으로 로직 정의가 가능해집니다.
감사합니다!
198강 (){onTap(e);}의 이해 돕기
0
25
1
video_call 플러그인 설치후 에러 발생
0
45
1
SDK 안드로이드 설치 질문!
0
59
1
코드팩토리 디스코드 링크 다시 부탁드려요~
0
92
1
Webview를 이용해서 URL 상의 페이지 출력 불가
0
69
1
홈스크린 함수를 함축해서 main.dart에 옮기는 문제
0
55
1
플레이스토어
0
59
1
아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?
0
55
1
가이드라인 질문
0
57
0
emulator 에러 환경설정 뭐가 문제 일까요??
0
76
1
emulator 실행 오류
0
93
3
Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련
0
71
1
pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의
0
43
1
setState()를 호출하지 않으면 build가 실행 안되는 건가요?
0
53
1
video_call 플러그인 설치시 에러문제
0
64
1
children 안의 if 문에서 { } 못쓰는 이유?
0
48
1
이렇게 오류가 떠요
0
63
1
AppBar 사용했는데
0
61
2
[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다
0
56
1
StatefulWidget 실습 에러가 발생합니다.[해결완료]
0
63
1
Video Player 프로젝트에 대한 추가 질문
0
53
0
Row위젯이나 column위젯의 위치는 누가 정하나요??
0
42
1
geolocator 오류때문에 개발진행이 불가능입니다
0
63
1
API 관련 이슈
0
86
2





