작성
·
297
답변 1
2
안녕하세요.
1) TableCalendar 위젯의 onDaySelected 함수는 저희가 특정 날짜를 선택할때마다 실행됩니다. 그리고 첫번째 파라미터에 선택된 날짜 (selectedDay)를 넣어주는데 이 값을 저희가 위젯에 저장해두면 어떤 날짜가 눌렸는지 기억해두고 지속적으로 사용할 수 있습니다. 결과적으로 "selectedDay 값을 들고 있을게요."라는 말은 사용자가 UI에서 선택한 날짜를 기억해두고 이 정보를 다른 함수에서 사용하겠다는 의도입니다.
2) StatefulWidget 클래스에 선언하는 변수와 State 클래스에 선언하는 변수는 근본적인 차이가 있습니다. StatefulWidget에 선언되는 변수들은 클래스 외부에서 파라미터로 값을 넣어줄때 이 값을 저장하는 용도로 사용됩니다. 반면에 State에 선언되는 변수들은 클래스 내부에서 변수를 관리하기위해 사용됩니다. 1번을 예로들면 selectedDay의 경우 State 클래스 내부에서 값이 변경되기때문에 State 클래스에 선언하게 됩니다.