작성
·
267
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에서 읽으면 됩니다.
하지만 그럴 필요가 없겠죠?
감사합니다!