✔️ Quiz State Management
Advanced usage of the Provider package
State Management with Provider
Manage the state of the quiz with the Provider ChangeNotifier
.
main.dart
import '../services/services.dart';
import 'package:provider/provider.dart';
// Shared Data
class QuizState with ChangeNotifier {
double _progress = 0;
Option _selected;
final PageController controller = PageController();
get progress => _progress;
get selected => _selected;
set progress(double newValue) {
_progress = newValue;
notifyListeners();
}
set selected(Option newValue) {
_selected = newValue;
notifyListeners();
}
void nextPage() async {
await controller.nextPage(
duration: Duration(milliseconds: 500),
curve: Curves.easeOut,
);
}
}