← ClaudeAtlas

flutter-riverpodlisted

State management using Riverpod + riverpod_generator
noory-code/noory-ai · ★ 0 · AI & Automation · score 75
Install: claude install-skill noory-code/noory-ai
# Flutter Riverpod Code-generation-based state management using riverpod_generator. --- ## Installation ```bash # required flutter pub add flutter_riverpod flutter pub add riverpod_annotation flutter pub add dev:riverpod_generator flutter pub add dev:build_runner ``` ## Code Generation ```bash # one-time build dart run build_runner build --delete-conflicting-outputs # watch mode dart run build_runner watch -d ``` --- ## Quick Reference ```dart import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; part 'example.g.dart'; // simple Provider (function) @riverpod String helloWorld(Ref ref) => 'Hello world'; // Notifier (class-based, state can be changed) @riverpod class Counter extends _$Counter { @override int build() => 0; void increment() => state++; void decrement() => state--; } // AsyncNotifier (async) @riverpod class TodoList extends _$TodoList { @override Future<List<Todo>> build() async { return await fetchTodos(); } Future<void> addTodo(Todo todo) async { state = const AsyncLoading(); state = await AsyncValue.guard(() async { await saveTodo(todo); return [...state.value ?? [], todo]; }); } } ``` ### Widget Usage ```dart void main() { runApp(ProviderScope(child: MyApp())); } class MyPage extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { final count = ref.watch(counterProvider); return TextBut