inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

캘린더 스케쥴러 Today Banner설계 질문있습니다

353

khs50851

작성한 질문수 14

0

안녕하세요. 플러터 강의 잘 보고 있습니다.

Today Banner설계 강의 마지막부분에 home_screen으로 onDaySelected함수를 뺐는데

home_screen에서 이 함수를 정의를 하고

~

chileren[

Calendar(

selectedDay: selectedDay,

focusedDay: focusedDay,

onDaySelected : onDaySelected,

),

~

위처럼 Calendar안에 onDaySelected를 파라미터로 넣었는데요, 이 함수가 실행되는 시점은 calendar.dart파일 안에서

TableCalendar를 리턴할때, onDaySelected : onDaySelected 이 부분에 의해 실행이 되는데

제가 이해하고 있는거로는

home_screen.dart가 stateful위젯이니까 그 안에

Calendar(

selectedDay: selectedDay,

focusedDay: focusedDay,

onDaySelected : onDaySelected,

),

가 실행 되면 home_screen.dart안에 build함수가 다시 불려서 그림을 다시 그리는거로 이해하고 있습니다.(캘린더 날짜를 클릭하는대로 날짜가 바뀌는)

근데 home_screen에서 onDaySelected함수를 정의해서 Calendar() 안에 넣는데 어떻게 _HomeScreenState에 정의한 selectedDay의 값을 받아와서 그 밑에 TodayBanner안에 selectedDay매개변수에 넣어줄 수 있는지 이해가 안됩니다.

요약하자면

home_screen에 onDaySelected를 정의했고 Calendar()에 정의한 onDaySelected를 넣어서 Calendar내부에서 실행을 한건데 그럼 onDaySelected함수에 정의한 this.selectedDay = selectedDay; 이 부분은 calendar.dart에 있는 selectedDay에 들어가야하는거 아닌지, 어떻게 home_screen의 selectedDay에 값이 들어가게 되는지 알고싶습니다.

 

답변 부탁드리겠습니다.

 

flutter 클론코딩

답변 1

0

코드팩토리

안녕하세요!

모든 함수는 정의된 위치에서의 함수와 변수를 레퍼런스 합니다.

onDaySelected 함수 내부에서 사용한 변수들은 정의된 위치에서 존재하는 변수들을 참조합니다.

그렇기 때문에 말씀하신 것처럼 실행하는 위치에서의 변수를 참조하는건 애초에 다트 언어에서 성립하는 개념이 아닙니다.

감사합니다!

0

khs50851

답변감사합니다.

onDaySelected 함수 내부에서 사용한 변수들은 정의된 위치에서 존재하는 변수들을 참조합니다. < 이 부분때문에 home_screen에서 정의하고 calendar.dart에서 사용해도 home_screen에서 정의했기때문에 this. 값들이 home_screen에서 받을 수 있는거군요! ㅎㅎ

198강 (){onTap(e);}의 이해 돕기

0

24

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