Como resolver This class inherits from a class marked as @immutable, and therefore should be immutable
- Andrés Cruz
La advertencia:
This class inherits from a class marked as @immutable, and therefore should be immutable
Aparece sobre nuestras clases de tipo StatelessWidget o StatefullWidget en Dart con Flutter que no tienen sus propiedades definidas como final, es decir, que los valores deben de ser de tipo inmutable; la inmutabilidad es un tópico que manejamos nosotros los desarrolladores al momento de crear las aplicaciones pero es imprescindible manejarlo de la manera correcta por las siguientes razones:
- La inmutabilidad es fundamental en la creación de aplicaciones robustas y predecibles.
- La inmutabilidad es fundamental para garantizar la estabilidad y prevenir errores en el manejo del estado de la aplicación.
Una clase como la siguiente:
class MyApp extends StatelessWidget {
UserPreference userPreference = UserPreference();
MyApp({super.key});
La propiedad UserPreference debe ser final:
class MyApp extends StatelessWidget {
final UserPreference userPreference = UserPreference();
MyApp({super.key});
Con esto, desaparecerá el error anterior.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter