statenotifier를 상속하는 클래스는 무조건 STATE를 정의해주어야한다. 위 사례에서 그 타입은 LIST이며 실제 값은 super 밑에 있는 요소들이다.
shoppinglistnotifier는 단순히 상태를 관리하는 CLASS일 뿐이고 이를 위젯에서 사용하려면 provider로 만들어어야한다. statenotifierprovider는 statenotifier를 관리한다. 위 사례에서 Statenotifierprovider는 shoppinglistnotifier를 생성한다.
따라서 해당 project의 어디에서든 shoppingListProvider를 불러오게되면, shoppinglistnotifier 인스턴스가 반환된다.
statenotifier는 statenotifierprovider안에 제공된 클래스가 상속하는 것. statenotifierprovider는 statenotifier 값을 상속한 클래스를 provider로 만들수 있는 class
그 인스턴스를 STATEnotifierproviderscreen에서 부른다. watch를 쓰면 바로 state가 반환된다. 위 사례에서는 그 STAte를 mapping 해서 Checkboxlisttile로 만들었다.