¿Cuál es la diferencia entre required y @required en flutter 2?

Hablemos sobre la diferencia entre la anotación de @required y la palabra reservada required:

  • @required es solo una anotación que permite a los analizadores hacerle saber que le falta un parámetro con nombre a la función; por lo que, aún puede compilar la aplicación y posiblemente obtener una excepción si no se pasó este parámetro con nombre.
  • required es una anotación que se agregó a partir del Null safety para agregar la seguridad de valores nulos: Ahora se requiere una palabra clave que debe pasarse a un parámetro con nombre para que no permita que el compilador se ejecute si este parámetro no se ha pasado. Hace que su código sea más estricto y seguro.

Consideraciones

Con la seguridad nula, un argumento con nombre con un tipo que no acepta valores NULL debe tener un valor predeterminado o estar marcado con la nueva palabra clave required.

Cuando se llama al código con un valor que puede ser nulo la palabra clave required se trata exactamente como la anotación @required.
 

Acepto recibir anuncios de interes sobre este Blog.

Hablemos sobre la diferencia entre la anotación de @required y la palabra reservada required en Flutter.

- Andrés Cruz

In english