반응형

setState 2

Flutter - 4.4 Widget Lifecycle

StatefulWidget에게는 lifecycle이 있다.(이벤트에 반응한다.)MyLargeTitle 위젯을 StatefulWidget으로 바꿔보자.변수를 초기화 하려면...이전처럼 그냥 해도 되지만...  @override  void initState() {    // TODO: implement initState    super.initState();  }이렇게 하는 방법도 있다. 사실은 거의 대부분의 경우에서 필요 없다고 한다.하지만, 가끔 부모 요소에 의존하는 데이터를 초기화해야 하는 경우가 있다.ex) API를 통해서 구독 정보를 업데이트 하는 경우.initState는 항상 build보다 먼저 호출되어야 한다!그리고, 단 한번만 호출된다!initState가 실행되고 그 후에 build가 실행된다..

Flutter - 4.1 setState

이제 여기에서 setState가 등장한다.setState는 State클래스에게 위젯에 새로운 데이터가 있다고 알려주는 것이다.따라서 이 함수를 호출하면 build method를 호출해서 다시 렌더링 한다.  void onClicked() {    setState(() {      counter = counter + 1;    });  }  void onClicked() {    counter = counter + 1;    setState(() {});  }이 두 가지 방법 모두 가능하다.그러니까, setState함수는 단순히 변경된 데이터가 있음을 알리는 역할이다.하지만, 가독성을 위해서(어디가 변했는지 명확하게 보기 위해서) 함수 안에다가 넣자.끝.

반응형