?
이 처리되어있는데 이는 flutter에게 정확히 어떤 모양의 데이터가 넘어갈 것인지를 인지를 시켜주면 더 시멘틱한 코드가 된다.위 코드는 Provider의 Notifier에 존재하는 addPlace 메서드를 끌고와서 사용한 후 Navigator obj의 pop 메서드로 해당 화면을 나가려고 작성한 모습이다.
추가적으로 Navigator에 나오는 context
는 ConsmerState에서 나오는 context
이다.
위 코드는 2가지의 공급자가 한 파일에 있는 것이다. filtersProvier와 filteredMealsProvider이다.
이때 특이한 점은 Provider 밑에 쓰인 ref.watch의 값(Provider dependency
)이 변화할 때 마다 해당 로직이 작동하여 자동으로 최신화해준다는 것이다.
추가적으로 filteredMEalsProvider를 StateNotifierProvider가 아닌 일반 Provider를 사용한 이유는 State를 직접적으로 mutation할 일이 없기 때문이다. 즉, StateNotifier가 필요없기 때문이다.