Enums and Extensions for Flutter Code
Enums in Dart are a powerful tool for representing a fixed set of related values, such as the possible states of a widget in Flutter. By using enums, you can make your code more readable and less error-prone, especially when handling things like loading, success, or error states in your UI.
main.dart
123456789101112131415161718192021import 'package:flutter/material.dart'; enum LoadState { loading, success, error } class StatusWidget extends StatelessWidget { final LoadState state; const StatusWidget({Key? key, required this.state}) : super(key: key); @override Widget build(BuildContext context) { switch (state) { case LoadState.loading: return const CircularProgressIndicator(); case LoadState.success: return const Icon(Icons.check, color: Colors.green); case LoadState.error: return const Icon(Icons.error, color: Colors.red); } } }
Dart extensions let you add custom methods or getters to existing types without modifying their original source code. This is especially useful for making your Flutter code cleaner and more expressive, such as by adding formatting helpers to strings or utility methods to collections.
main.dart
1234567891011extension DisplayFormat on String { String toTitleCase() { if (isEmpty) return this; return this[0].toUpperCase() + substring(1).toLowerCase(); } } void main() { String name = "flutter"; print(name.toTitleCase()); // Output: Flutter }
Using enums instead of strings for state management helps prevent typos, makes refactoring safer, and allows for better code completion in your IDE.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 7.14
Enums and Extensions for Flutter Code
Pyyhkäise näyttääksesi valikon
Enums in Dart are a powerful tool for representing a fixed set of related values, such as the possible states of a widget in Flutter. By using enums, you can make your code more readable and less error-prone, especially when handling things like loading, success, or error states in your UI.
main.dart
123456789101112131415161718192021import 'package:flutter/material.dart'; enum LoadState { loading, success, error } class StatusWidget extends StatelessWidget { final LoadState state; const StatusWidget({Key? key, required this.state}) : super(key: key); @override Widget build(BuildContext context) { switch (state) { case LoadState.loading: return const CircularProgressIndicator(); case LoadState.success: return const Icon(Icons.check, color: Colors.green); case LoadState.error: return const Icon(Icons.error, color: Colors.red); } } }
Dart extensions let you add custom methods or getters to existing types without modifying their original source code. This is especially useful for making your Flutter code cleaner and more expressive, such as by adding formatting helpers to strings or utility methods to collections.
main.dart
1234567891011extension DisplayFormat on String { String toTitleCase() { if (isEmpty) return this; return this[0].toUpperCase() + substring(1).toLowerCase(); } } void main() { String name = "flutter"; print(name.toTitleCase()); // Output: Flutter }
Using enums instead of strings for state management helps prevent typos, makes refactoring safer, and allows for better code completion in your IDE.
Kiitos palautteestasi!