작성
·
383
0
현재 초급강의에서 캘린더 강의를 들으며 개인적으로 활용을 해보고 있는데
중급강의도 이미 들은 상태라 streamBuilder의 기능이 Provider의 watch 기능으로도 가능한거 아닌가 생각이 들더라고요.
만약 가능하다면 둘 중에 어느 것이 캘린더에 적합한가요?
현재 저는 getX를 활용해서 상태관리를 진행하려고 하고 있습니다.
답변 1
0
안녕하세요!
비교하고 계시는게 완전 같은 부류는 아닙니다.
StreamBuilder는 위젯입니다. 즉, stream을 입력 해줬을때 새로운 값으로 위젯을 렌더링 해주는 역할을 합니다.
Provider는 상태관리 툴입니다. 데이터를 관리하기 위한 목적을 갖고있고 watch를 하게되면 위젯을 새로 렌더링 해주지만 StreamBuilder 처럼 '위젯'은 아닙니다.
조금 더 쉬운 예제를 말씀드리면 중급에서 제가 가르쳐드린 것 처럼 Provider 또한 Stream을 관리하는 StreamProvider를 생성 할 수 있습니다. 이럴경우 StreamProvider와 StreamBuilder를 같이 사용하게됩니다. 그럼 StreamBuilder와 StreamProvider중 어떤게 더 적합하냐고 질문하게되면 답변이 불가능하겠죠? 둘 다 있어야 렌더링이 가능하니까요.
만약에 Future와 Stream의 차이에 대한 질문이었다면 이 차이는 명확합니다. Future는 한번만 값을 반환 해줄 수 있고 Stream은 닫히기 전까지 무한하게 반환이 가능합니다. 이건 제 Dart언어 강의에서 조금 더 자세히 알아보실 수 있습니다.
혹시 제가 질문을 잘못 이해 했다면 다시 질문주세요!
감사합니다!