인프런 커뮤니티 질문&답변

DJB님의 프로필 이미지
DJB

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

StreamBuilder 위젯 사용하기

StreamBuilder 관련 질문입니다.

작성

·

179

0

강의 중에 snapshot.data를 콘솔에 찍는 부분에 관한건데요!

hot reload시 케바케로

-

flutter: null

flutter: Latitude: 37.522327, Longitude: 126.921252

flutter: Latitude: 37.522327, Longitude: 126.921252

-

와 같이 현재 포지션이 두번 찍힐때가 있는데 이런건 어떤거때문인걸까요?

제가 생각하기로는

  1. 앱 로딩 시 빌드 함수가 실행되면서 getPositionStream()이 실행되나, 위치 잡아오기 전이라 null 반환

  2. 이후 위치 잡아오면 스트림에 입력되어 위/경도값 반환

이게 끝인거같은데

 

종종 보면 저 위/경도값이 두번 찍힐때가 있더라구요..!

이유가 궁금합니다.

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

StreamBuilder는 스트림에서 값이 전달 될때 + build() 함수가 실행됐을때 다시 렌더링됩니다.

정확히 어떤 위치를 말씀하시는지는 모르겠지만 아마 build() 함수가 처음 실행되고 stream이 초기화되면서 한번 더 실행 됐을때 두번 보는 현상이 아닐까 생각됩니다.

감사합니다!

DJB님의 프로필 이미지
DJB

작성한 질문수

질문하기