ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Stateless widget vs Stateful widget
    w4 2022. 9. 25. 22:36

    Stateless widget

    • State가 변경되지 않는 위젯
    • rebuild 해야 새로운 State를 적용할 수 있음
      (build method 호출 → UI 렌더링)

     

    Stateful widget

    • 변경된 상태를 반영하는 위젯을 만들 때 사용
    • state가 변경되는 경우
      • Child 위젯의 생성자를 통해서 데이터가 전달될 때
      • inernal state가 변할 때
    • StatefulWidget 위젯 클래스와
      State 정보를 가진 클래스를 생성하여 연결함

    Stateful Wiget 실행 프로세스

    MyApp Stateful wiget 생성
     MyApp Stateful element 생성
    (메모리 상에 독립된 개체, MyAppState object에 대한 정보도 가지고 있음)

    → _createState method 호출
     MyAppState object 생성 (MyApp Stateful wiget 과 간접적으로 연결)

     setState method 호출 (상태변경 발생)
     State object rebuild
    → MyApp Stateful wiget rebuild
     MyAppState object 새로운 상태 저장  새로 생성된 MyApp Stateful wiget 로 연결

     

    Stateless 위젯 vs Stateful 위젯

    • 공통점
      - build 메소드를 통해 → 변경된 UI 렌더링

    • 차이점
      • stateless 위젯은
        build 메소드에서 생성된 객체를 바로 반환
      • stateful 위젯은
        createState 메소드에서 생성한 객체를 반환함

    댓글

Designed by Tistory.