Streambuiler
비동기로 데이터를 가져올 때 사용하는 builder.
데이터의 변화를 실시간으로 감시하기 때문에 네트워트 통신으로 데이터베이스를 사용할 때 유용함.
아래는 StreamBuilder로 Firebase authentication 기반 어플의 로그인 상태를 관리해주는 코드이다.
main함수로, 어플을 처음 빌드하는 부분이다.

요소
StreamBuilder - Firebase Auth의 로그인/로그아웃 변화를 실시간으로 감지
snapshot.data - 현재 로그인된 User? 객체
StreamBuilder는 사용하는 snapshot 의 성질에 따라서 여러가지 상태를 감시할 수 있는 기능을 가진다.
지금 사용하는 stream은 authStateChanges, 즉 auth의 상태를 감지하고, snapshot은 유저의 정보를 가진다.
현재의 로그인된 유저가 있는지를 분기로 하여 각각의 경우에 LoginPage, HomePage를 출력하는데,
해당 StreamBuilder로 앱 전체를 감싸주었기 때문에 앱 전체에서 이 인식이 가능하다.
즉, 어플 사용 중 어느 경우에라도 로그인 상태가 변경되면
로그인된 경우: HomePage로
로그아웃된 경우: LoginPage로
이동하게 된다.
'Flutter' 카테고리의 다른 글
| [Flutter] 화면 크기 구하는 코드 (0) | 2025.05.01 |
|---|---|
| [Flutter] 플러터의 기본적인 암시적 애니메이션 위젯 (0) | 2025.05.01 |
| [Flutter] 매개변수 없는 함수, 매개변수 있는 함수, 익명 함수 정리 (0) | 2025.04.24 |
| [Flutter] TextFormField의 AutovalidateMode 옵션 (0) | 2025.04.23 |
| [Flutter] REST API와 HTTP 응답코드 (0) | 2025.04.17 |