Flutter Riverpod .family & .autoDispose | Flutter Riverpod State Management
- Riverpod의
.family
와 .autoDispose
는 실제 시나리오에서 매우 유용하며, 다양한 Provider에서 활용 가능하다. 💡
.family
를 사용하면 Provider에 파라미터를 전달하여 동적으로 데이터를 가져올 수 있다. 📦
- FutureProvider에서
.family
를 사용하려면 반환 타입과 전달받을 변수 타입을 정의해야 한다. 🔑
- 여러 변수를 전달해야 할 경우, 상태(State) 클래스를 만들어 관리하는 것이 좋다. 🧰
.autoDispose
는 Provider가 더 이상 사용되지 않을 때 메모리에서 자동으로 제거하여 리소스를 효율적으로 관리한다. 🗑️
.family
와 .autoDispose
를 함께 사용하여 필요에 따라 데이터를 가져오고 메모리를 최적화할 수 있다. ⚙️
- AsyncNotifierProvider에서
.family
를 사용할 때는 FamilyAsyncNotifier로 변경하고, build 메서드에서 값을 받아와야 한다. 🔄
- Riverpod는 확장성, 테스팅, 대규모 애플리케이션 개발에 매우 유용하며, GetX에 비해 더 강력한 기능을 제공한다. 🏆
- Riverpod는 처음에는 복잡해 보일 수 있지만, 꾸준히 학습하면 효율적인 상태 관리를 할 수 있다. 📚
- 위젯이 dispose될 때, autoDispose는 실행 중인 Future를 취소하고 캐시를 비워 메모리 누수를 방지한다. 🛡️