StatelessWidget은 말 그대로, State가 없다는 말이다. UI에 영향을 미치는 데이터가 없으면? 데이터의 변동에 따라 모양이 변하지 않는다는 말이고, 그 말은 즉 모양이 고정된 Widget이 된다. 한번 그려지고 나면 데이터가 어떻게 변하던지, 이 위젯에는 아무런 영향이 없다.
StatefulWidget은 State가 있다. UI에 영향을 미치는 데이터가 있으니, 그 데이터가 변함에 따라 UI가 변하게 된다. 물론 자동으로 휙휙 바뀌는 것은 아니다. 위 영상에 나온것 처럼 setState() 라는 함수를 사용해 State의 변화를 알려줘야한다. 이때 setState 함수가 실행되면 바뀐 데이터를 체크해 해당 데이터로 위젯을 다시 그린다.
결과적으로 State가 변하면 UI가 변하는 위젯. 그게 바로 StatefulWidget이다.
그럼 다 StatefulWidget으로 만들면 되는거 아니야? 할 수도있지만 그러면 성능저하가 일어날 수도 있다.
