웹개발일지

현재 위치 미세먼지 가져오기 앱 (5) - StreamBuilder 구현하기 본문

카테고리 없음

현재 위치 미세먼지 가져오기 앱 (5) - StreamBuilder 구현하기

hee_log 2023. 3. 8. 17:23
728x90

 오늘은 setState()로만 구현하던 상태값 변화를 StreamBuilder 를 사용하여 구현해보았다. 

 

 이렇게 add 버튼을 눌렀을 때 text 숫자가 증가하는 것을 기존에 setState로 구현했다면 그 대신, StreamBuilder를 활용하여 구현하는 것이다. 

ElevatedButton(
            onPressed: (){
              setState(){
              	counter++
              }
            },
            child: Text('add', style: TextStyle(fontSize: 30),),
          ),
ElevatedButton(
            onPressed: (){
              counterSubject.add(++counter);
            },
            child: Text('add', style: TextStyle(fontSize: 30),),
          ),

 

오늘 배운것! 

0. setState대신 StreamBuilder 활용하기 

1. rx.dart 패키지 사용하기 

2. stream 만들기 

 

 

https://pub.dev/packages/rxdart

 

rxdart | Dart Package

RxDart is an implementation of the popular reactiveX api for asynchronous programming, leveraging the native Dart Streams api.

pub.dev

 

스트림을 만들때 rxdart패키지를 사용하면 편하다. 

 

BehaviorSubject() 

final counterSubject = BehaviorSubject<int>();  //