[Flutter] Stateless와 Stateful

정태녕·2024년 1월 6일
0

flutter

목록 보기
3/7

flutter는 위젯을 트리 형식으로 엮어서 하나의 App을 만들어 내는 형태이다.

여기서 위젯은 크게 두 가지로 분류할 수 있는데 첫 번째는 Stateless, 두 번째는 Stateful이 있다.



StatelessWidget

  • StatelessWidget은 상태가 없는 위젯인데, 한 번 생성되면 그 상태를 변경할 수 없다.

  • 주로 데이터가 변경되지 않고 화면에 표시만 해야 하는 경우에 사용한다.

  • build 메서드 안에서 위젯을 생성하고 반한다.

class MyStatelessWidget extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return Container(
      child: Text('Stateless Widget'),
    );
  }
}

StatefulWidget

  • StatefulWidget은 상태가 있는 위젯으로, 화면에 표시되는 내용이나 상태를 동적으로 변경해야 할 때 사용한다.

  • StatefulWidget은 상태를 가지고 있는 State 객체와 함께 사용한다.

  • createState 메서드에서 State 객체를 생성하고 반환하며, 해당 State 객체에서 상태를 관리하고 업데이트한다.

class MyStatefulWidget extends StatefulWidget {
  
  _MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}
//
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
  
  Widget build(BuildContext context) {
    return Container(
      child: Text('Stateful Widget'),
    );
  }
}



요약)
StatelessWidget: 정적인 콘텐츠(단순한 정보를 보여주는 페이지나 정적인 이미지, 텍스트를 표시하는 페이지)

StatefulWidget: 동적인 콘텐츠(사용자가 상호 작용하면서 데이터를 입력하고 결과에 따라 화면이 업데이트되어야 하는 경우)

profile
Mobile App Developer

0개의 댓글