Como resolver This class inherits from a class marked as @immutable, and therefore should be immutable

- Andrés Cruz

In english

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.

Acepto recibir anuncios de interes sobre este Blog.

Hablaremos sobre como resolver la advertencia This class inherits from a class marked as @immutable, and therefore should be immutable en Dart

- Andrés Cruz

In english