인프런 커뮤니티 질문&답변

김영호님의 프로필 이미지
김영호

작성한 질문수

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

이론

MaterialStateProperty.resolveWith 질문있습니다

작성

·

272

·

수정됨

0

stateless widget 같은 경우에는 상태가 변경되지 않고, 변경될 시에는 stateless widget이 새롭게 생성된다고 알고있는데요!

다음과 같이 버튼이 눌린 상태에 따라 버튼의 색깔이 바뀌는 경우에는 widget에 대한 상태 변화는 따로 나타나지 않는다고 보면될까요? 아니면 이 경우에도 버튼 색깔이 바뀔때마다 widget이 새롭게 생성되는 건가요?

답변 1

1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

화면에 변화가 생길때는 항상 build() 함수가 실행됩니다.

다만 이 build() 함수가 실행되는 스코프가 얼마나 세밀하냐의 차이입니다.

버튼의 상위에 StatelessWidget을 구현 해둬도 버튼을 누를때마다 상위 위젯이 다시 build() 되지는 않습니다.

하지만 더욱 세밀한 위치에서 build()가 실행되고 있을겁니다.

버튼도 위젯이기 때문에 내부 어딘가에서는 build()가 이뤄지고 있어서 색상 변경이 가능한겁니다.

감사합니다!

김영호님의 프로필 이미지
김영호
질문자

답변 감사합니다!

김영호님의 프로필 이미지
김영호

작성한 질문수

질문하기