flutter study "initState()"

프랭크 IT·2023년 10월 13일
0

flutter

목록 보기
12/28

Flutter에서 initState()State 객체의 생명주기 중에서 가장 먼저 호출되는 메서드입니다. StatefulWidget의 상태 객체가 생성될 때 한 번만 호출되며, 초기 설정 및 리소스 할당과 같은 작업을 수행하는 데 사용됩니다.

initState()의 주요 특징 및 사용 사례는 다음과 같습니다:

  1. 초기 설정: State 객체의 초기 데이터를 설정하거나, 위젯의 초기 상태를 설정하는 작업을 수행합니다.

  2. 리소스 할당: 컨트롤러 초기화, 리스너 추가, 타이머 설정 등의 리소스 할당 작업을 수행합니다.

  3. 한 번만 호출: State 객체의 생명주기 동안 initState()는 한 번만 호출됩니다.

  4. build 메서드 전 호출: initState()build 메서드가 호출되기 전에 실행됩니다. 따라서 build 메서드에서 필요한 리소스나 데이터를 initState()에서 미리 준비할 수 있습니다.

  5. 상태 변경 불가: initState() 내에서는 setState()를 호출할 수 없습니다. 초기 상태를 설정하려면 initState() 내부에서 직접 변수 값을 변경해야 합니다.

간단한 예시를 통해 initState()의 사용법을 살펴보겠습니다:

class MyWidget extends StatefulWidget {
  
  _MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  int _counter = 0;

  
  void initState() {
    super.initState();
    // 초기 설정 및 리소스 할당
    _counter = 5; // 초기값을 5로 설정
  }

  
  Widget build(BuildContext context) {
    return Text('Counter: $_counter');
  }
}

위의 예제에서 initState() 메서드는 _counter 변수의 초기값을 5로 설정합니다. 이렇게 initState()는 위젯의 상태 객체가 생성될 때 필요한 초기 설정 작업을 수행하는 데 사용됩니다.

StatefulWidget을 사용할 때 initState()를 이용하여 초기화 작업을 구현할 수 있습니다. 이 메서드는 위젯의 생명주기 동안 중요한 역할을 하기 때문에, 상태 관리 및 리소스 할당 작업에 대한 이해가 필요합니다.

profile
AWS, Vue, Java, flutter, Mongodb, Python, Git , EKS, Docker, 독서, 영어, 에어로빅, 자전거, 농구, 바둑, 풋살, 복싱, Guitar, 글쓰기, 랭체인

0개의 댓글