본문 바로가기
자기계발/IT

[Flutter/플러터] 플러터 상태 변경 알아보기

by KTC 2023. 3. 19.

목차

    반응형

    안녕하세요!

    플러터 샘플 앱 분석의 일환으로 상태 변경에 대해 알아보겠습니다.

     

     

    [Flutter/플러터] 플러터 샘플 앱 분석하기

    안녕하세요! 플러터 샘플 앱을 분석해 보겠습니다. [Flutter/플러터] 플러터 프로젝트 생성 안녕하세요! 이번에는 플러터 프로젝트 생성을 해보겠습니다. 플러터 프로젝트 생성 1. 플러터 프로젝트

    ktc7514.tistory.com

     

    상태 변경

    • State 클래스에는 주로 상태를 저장할 변수들과 그 변수를 조작할 메서드를 작성함
    class _MyHomePageState extends State<MyHomePage> {
      int _counter = 0;
    
    
      void _incrementCounter() {
        setState(() {
          _counter++;
        });
      }
    
     
      @override
      Widget build(BuildContext context) {
        return Scaffold(... 생략...);
      }
    }
    • 정수형 _counter는 0으로 초기화되어 있고, _incrementCounter() 메서드는 setState() 메서드를 실행함
    • setState()  메서드는 전달된 익명 함수를 실행한 후 화면을 다시 그리게 하는 역할
    • 화면은 build() 메서드가 실행되면서 그려짐
    • 즉, setState() 메서드는 build() 메서드가 다시 실행되게 하는 역할, setState() 메서드는 State 클래스가 제공하는 메서드
    • 정리하면 MyHomePage 클래스는 StatefulWidget의 서브클래스이며 상태를 가질 수 있음, 그리고 그 상태는 State 클래스의 서브클래스로 정의함
    • 여기서 변경 가능한 상태는 _counter 변수이며, 이 값이 변경될 때마다 화면을 다시 그리면 동적인 화면을 가진 앱이 됨
    반응형