setState(() {});
는 Flutter에서 상태를 변경할 때 사용되는 메서드입니다. 이 메서드를 호출하면 Flutter는 위젯 트리를 다시 빌드하여 화면을 업데이트합니다. setState()
는 StatefulWidget
에서만 사용할 수 있으며, StatelessWidget
에서는 사용할 수 없습니다.
setState()
메서드는 변경될 상태를 담은 콜백 함수를 인자로 받습니다. 콜백 함수 내부에서는 상태 변수를 업데이트하는 코드를 작성합니다.
예를 들어, 카운터 앱에서 버튼을 누를 때마다 카운터 값을 증가시키는 코드는 다음과 같이 작성할 수 있습니다:
int counter = 0;
void _incrementCounter() {
setState(() {
counter = counter + 1;
});
}
이 예제에서 _incrementCounter()
메서드 내부에서 setState()
를 호출하고 있습니다. setState()
의 콜백 함수 내에서 counter
변수의 값을 증가시키고 있습니다. setState()
가 호출되면 Flutter는 위젯을 다시 빌드하여 변경된 counter
값이 화면에 반영됩니다.
이러한 방식으로 setState()
는 위젯의 상태를 변경하고 그 변경을 화면에 즉시 반영하는 역할을 합니다.