Store는 여러개 만들어도 상관 없다.
Store 왜쓰나?
State가 100개면 하나의 class에 보관하는 건 힘들다.
관련 있는 state들을 묶어서 각각 별개의 store로 만들면 나중에 편리할 수 있다.
class Store1 extends ChangeNotifier {
var name = 'john kim';
class Stroe2 extends ChangeNotifier {
var follower = 0;
follower 변경함수들 ~~
}
이런 식이다. 지금은 양이 적어서 굳이 나눌 필요가 없다. 혹은 당연히 너무 길어보이면 다른 파일로 빼서 한다. \
근데 changeNotifierProvider()안에 store 등록한다고 했는데
Store 가 여러개면 등록을 어떻게 하나
Store가 많은 경우 store 등록하는 법
실은 changeNotifierProvieder()를 store 갯수만큼 2중첩, 3중첩 하면 된다. 근데 그걸 쉽게 바꿔주는 문법도 있는데 multiprovider 로 바꿔서 감싸면 된다.
MultiProvider (
prooviders: [
ChangeNotifierProvider (create: (c) => Store1()
CHangeNotifierProvider(create: (c)
]
childer: MAterial~
그 안에는 changeNotifier를 여러개 사용한다.
우너하는 만큼 등록 가능
그럼 이제 똑같이 모든 자식 위젯들은 store1, store.에 있던 state를 이용 가능하다. 이렇게 쓰고 store 갯수 많아지면 다른파일로 뺴는 게 좋곘따
provider 쓰면 ge t 요청은?
get , profiele 서버 get, 데이터 받아옴, state 에 저장.
hhttp,.get
Profile 의 initState안에서 get 요청 날림
Profile의 initState안에서 state 수정함수를 작동시킴
하지만 state 관련된 모든 로직들은 store 안에 보관하는게 수정이 쉬움
```
class Store1 extends ChangeNotifier {
var profileImage = [];
getData() async {
var result = await http.get~
var result2 = jsonDecode~
profileImage = result2
notifylisteners();
```