해결된 질문
작성
·
166
0
안녕하세요. 강의를 듣다가 의문이 있어 질문 드립니다.
StatefulWidget에서 setState()메서드를 호출하는 것은 위젯의 변경이 필요하여 새로운 위젯으로 대체하기 위해 빌드를 요청하는 것으로 이해했습니다.
그런데 강의 내용 중 '섹션15 다음 스크린에서 결과값 받아오기' 7:30 설명해주실 때 다음과 같이 setState() 메서드를 사용해주셨는데요,
if (result != null) {
setState(() {
maximumNumber = result;
});
}
위 코드에서 maximumNumber라는 변수는 위젯의 UI를 변경시키는 변수는 아닌 것 같습니다. maximumNumber가 result로 변경된다고 해서 위젯을 새로 그릴 필요가 없는데도 setState() 메서드를 호출해야 하나요?
제 생각을 정리하자면 다음과 같습니다.
randomNumbers는 위젯의 변경을 야기한다. (랜덤숫자 생성)
maximumNumber는 randomNumbers의 값을 변경할 때 사용되는 파라미터다.
그러나 maximumNumber의 변경 자체로는 위젯의 변경을 야기하지 않으므로 setState() 내부에서 값을 변경할 필요가 없다.
혹시 제가 잘못 생각하고 있는 부분이 있을까요?
감사합니다. :)