`setState` must not run after the widget has been disposed. Any `await` is an async gap: the user may navigate away while the operation is running. Check `context.mounted` immediately after the await and before every later use of the context or state. ```dart Future<void> _saveProfile() async { setState(() => _isSaving = true); try { await repository.save(_draft); if (!context.mounted) return; ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('Profile saved')), ); } cat...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill flutter-idiomatic-flutter --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Flutter Idiomatic Flutter?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-flutter-idiomatic-flutter-agent-skills-standard)More formats (shields.io, HTML) on the badges page.
`setState` must not run after the widget has been disposed. Any `await` is an async gap: the user may navigate away while the operation is running. Check `context.mounted` immediately after the await and before every later use of the context or state.
```dart
Future<void> _saveProfile() async {
setState(() => _isSaving = true);
try {
await repository.save(_draft);
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Profile saved')),
);
} catch (error) {
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Save failed: $error')),
);
} finally {
if (context.mounted) {
setState(() => _isSaving = false);
}
}
}
```
Do not use `mounted` as a one-time check before the `await`; it must be checked after the gap. If this operation belongs to application state rather than local presentation state, move it into a BLoC or Riverpod notifier and let the widget render that state. That also avoids a widget owning a long-lived controller or operation.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!