07 # Consumer Stateful Widget in Flutter Riverpod | Flutter Riverpod State Management
- Riverpod의 StateNotifierProvider는 상태 관리와 로직을 분리하는 데 유용하며, UI에서 직접 로직을 처리하는 것을 방지합니다. 🏗️
- StateNotifierProvider는 상태와 상태를 변경하는 함수를 함께 캡슐화하여, 복잡한 상태 관리를 효율적으로 처리할 수 있습니다. 📦
- StateNotifierProvider를 사용하려면 StateNotifier를 확장하는 클래스를 생성하고, 해당 클래스에서 상태를 변경하는 함수를 정의해야 합니다. ⚙️
- StateNotifier 클래스는 상태의 초기값을 설정하는 super() 생성자를 호출해야 합니다. 🔑
- UI에서는 ref.watch()를 사용하여 StateNotifierProvider의 상태를 구독하고, ref.read().notifier를 사용하여 상태 변경 함수를 호출합니다. 👁️
- copyWith() 메서드는 불변 객체의 특정 필드만 변경된 새로운 객체를 생성하는 데 사용되며, 상태 업데이트 시 유용합니다. 📝
- 리스트를 업데이트할 때는 기존 리스트를 직접 수정하는 대신, 새로운 리스트를 생성하여 상태를 업데이트해야 합니다. 🔄
- StateNotifierProvider는 Flutter 앱의 규모가 커질수록 코드의 유지보수성과 테스트 용이성을 향상시키는 데 기여합니다. 🚀
- StateNotifierProvider를 사용하면 상태 변경 로직을 중앙 집중화하여, 앱 전체에서 일관된 상태 관리를 유지할 수 있습니다. 🎯
- StateNotifierProvider는 상태 관리와 UI 로직을 분리하여, 코드의 가독성을 높이고 디버깅을 용이하게 합니다. 🔍