mounted
는 Flutter의 State
객체에 있는 불린(Boolean) 변수입니다. 이 변수는 위젯이 현재 트리에 마운트되어 있는지(즉, 화면에 출력되고 있는지)를 나타냅니다.
Flutter에서는 위젯의 State
가 생성된 후에 initState()
메서드가 호출되고, 그 후에 위젯이 위젯 트리에 "마운트"됩니다. 마운트된 상태에서만 setState()
를 안전하게 호출할 수 있습니다.
if (!mounted) { return; }
코드는 위젯이 아직 마운트되지 않았을 경우, setState()
같은 작업을 하지 않도록 하는 안전장치입니다. 이를 통해 위젯이 화면에 없는 상태에서 상태 변경을 시도하면서 발생할 수 있는 오류를 방지합니다.
이러한 코드는 주로 비동기 작업이 포함된 상황에서 사용됩니다. 예를 들어, 네트워크 요청을 했는데 응답이 오기 전에 사용자가 다른 페이지로 이동하여 위젯이 화면에서 사라진 경우, mounted
를 체크하여 안전하게 코드를 실행할 수 있습니다.