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

이상현님의 프로필 이미지
이상현

작성한 질문수

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

RestaurantProvider 작업하기

Provider가 빠른 이유와 streambuilder

작성

·

268

0

안녕하세요. futurebuilder대신 provider를 이용하는게 더 이득이라고 하셨는데 futurebuilder는 build가 될때마다 값을 가져오게 되는 것이고, provider는 build마다 값을 가져오지 않아도 되는 이유인가요??

provider가 이렇게 이득이 생기는 이유는 flutter에서 provider는 항상 caching을 해두기 때문일까요??

 

그리고 futurebuilder가 아닌 streambuilder도 provider와 비슷하게 값이 변경되면 실행되는 것으로 알고있는데 streambuilder를 대체할경우에도 이득이 있을까요?

 

감사합니다.

답변 1

0

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

안녕하세요!

어떤 문맥상 제가 이득이라고 했는지 잘 기억이 안나지만 항상 모든 상황에서 이득인 라이브러리는 존재하지 않습니다. 만약 존재한다면 다른 경쟁 라이브러리들이 모두 없어져야 정상입니다.

FutureBuilder와 StreamBuilder도 캐싱은 합니다. 다만 글로벌하게 관리는 어렵습니다.

추가로, FutureBuilder, StreamBuilder는 위젯입니다. Provider는 데이터를 관리하는 툴일뿐입니다. 그래서 흔히 저희가 상태관리 툴이라고 부르죠.

그렇기 때문에 Provider와 FutureBuilder, StreamBuilder를 동시에 사용할수도 있습니다.

Provider에서 Stream 또는 Future를 반환하면 FutureBuilder 또는 StreamBuilder에서 읽으면 됩니다.

하지만 그럴 필요가 없겠죠?

감사합니다!

이상현님의 프로필 이미지
이상현

작성한 질문수

질문하기