Voyage_dev
항해하는 개발자
Voyage_dev
전체 방문자
오늘
어제
  • All (158)
    • Front-End (102)
      • HTML & CSS (7)
      • JavaScript (13)
      • Web & 표준 & ETC (15)
      • React (17)
      • Next (13)
      • TypeScript (6)
      • Zustand (1)
      • AWS (4)
      • Redux (1)
      • MobX (9)
      • GraphQL (1)
      • Flutter (15)
    • 알고리즘 (12)
      • Java (11)
      • JavaScript (1)
    • Git (1)
    • Project (2)
      • 개인 (1)
      • 팀 (1)
    • Books (30)
      • 누구나 자료구조와 알고리즘 (20)
      • Do It 타입스크립트 프로그래밍 (9)
    • 자료구조 (6)
    • 취업 (1)
    • 항해플러스 (1)
      • 1주 (1)

블로그 메뉴

  • 👨🏻‍💻 Github
  • 💻 Rss 블로그
  • 🏊‍♂️ Resume
  • 🗂️ Portfolio

인기 글

최근 댓글

hELLO · Designed By 정상우.
Voyage_dev

항해하는 개발자

Front-End/Flutter

[Flutter] MultiProvider

2023. 10. 28. 17:39

store는 여러개 만들어도 상관없다

  • state가 100개면 하나의 class에 보관하기는 힘들다
  • 관련있는 staet들을 묶어서 각각 별개의 store로 만들면 나중에 편리하다
class Store1 extends ChangeNotifier {
  var name = 'john kim';
}

class Store2 extends ChangeNotifier {
  var follower = 0;
  follower 변경함수들~~
}

store가 많은 경우 store 등록하는 법

// provider가 하나일때
  // runApp(ChangeNotifierProvider(
  //   create: (c)=>Store1(),
  //   child: MaterialApp(
  //     theme: style.theme,
  //      home: MyApp()
  //   ),
  // ));

// 여러개 일때
MultiProvider(
    providers: [
      ChangeNotifierProvider(create: (c) => Store1()),
      ChangeNotifierProvider(create: (c) => Store2()),
    ],
    child: MaterialApp( 어쩌구 ),
),

Provider 쓰면 get요청

class Store1 extends ChangeNotifier {
  var profileImage = [];

  getData() async {
    var result = await http.get(Uri.parse('<https://codingapple1.github.io/app/profile.json>'));
    var result2 = jsonDecode(result.body);
    profileImage = result2;
    notifyListeners();
  }
}

 

출처: 코딩애플

'Front-End > Flutter' 카테고리의 다른 글

[Flutter] Local Notification  (0) 2023.10.28
[Flutter] GridView, CustomScrollView  (0) 2023.10.28
[Flutter] Provider  (1) 2023.10.28
[Flutter] Shared preferences  (0) 2023.10.28
[Flutter] GestureDetector  (0) 2023.10.28
    'Front-End/Flutter' 카테고리의 다른 글
    • [Flutter] Local Notification
    • [Flutter] GridView, CustomScrollView
    • [Flutter] Provider
    • [Flutter] Shared preferences
    Voyage_dev
    Voyage_dev

    티스토리툴바