반응형
상태 변화나 다른 위젯간의 데이터를 전달할때 생성자로 매번 전달해줘야 할까...?
그건 아니다. 전역으로 Provider에 값을 넣고, 필요한 위젯에서 꺼내어 쓸수있다.
로컬 데이터베이스는 아니고. 앱이 시작할때 넣어놓고 변경 및 사용이 가능한 느낌이다.
대신 , 앱을 끄면 사라지는 데이터임은 명심해야한다.
로그인 사용자에 대한 정보, 인가가 끝난 userId에 대한 정보를 해당 Provider에서 관리를 해야겠다
어렵지 않다.
get | Flutter Package
Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX.
pub.dev
공식문서에 잘 나와있다.
1. getX pub add
flutter pub add get
2. Controller 설정
import 'package:get/get.dart';
class GlobalProvider extends GetxController {
String userId="";
setUserId(String userId){
this.userId = userId;
}
getUserId(){
return this.userId;
}
}
3. 앱 시작 시 Prefs에서 값을 가져와서 provider에 세팅
final GlobalProvider c = Get.put(GlobalProvider());
4. 필요한 위젯에서 해당 프로바이더의 값을 가져와서 사용
final GlobalProvider globalProvider = Get.find();
globalProvider.getUserId()
간단해서 전역 변수로 사용하기 아주 좋다.
자바의 inner static method와 매우 흡사해 보인다.
반응형
'[Mobile] > [Flutter]' 카테고리의 다른 글
[Flutter] Naver 지도 api (0) | 2023.09.11 |
---|---|
[Flutter] Boiler Template 적용시 (0) | 2023.09.09 |
[Flutter] FutureBuilder setState 동작 이슈 (0) | 2023.09.03 |
[Flutter] Dialog 콜백 값 핸들링 (0) | 2023.09.02 |
[Flutter] initState 이전 데이터 세팅 (0) | 2023.09.02 |