[Mobile]/[Flutter]
[Flutter] Getx로 전역 Provider 설정
HiSmith
2023. 9. 7. 02:20
반응형
상태 변화나 다른 위젯간의 데이터를 전달할때 생성자로 매번 전달해줘야 할까...?
그건 아니다. 전역으로 Provider에 값을 넣고, 필요한 위젯에서 꺼내어 쓸수있다.
로컬 데이터베이스는 아니고. 앱이 시작할때 넣어놓고 변경 및 사용이 가능한 느낌이다.
대신 , 앱을 끄면 사라지는 데이터임은 명심해야한다.
로그인 사용자에 대한 정보, 인가가 끝난 userId에 대한 정보를 해당 Provider에서 관리를 해야겠다
어렵지 않다.
공식문서에 잘 나와있다.
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와 매우 흡사해 보인다.
반응형