child: const Text('Calculate Client Fees', style: TextStyle(fontSize: textSize),)
5 Réponses :
Comme @creativecreatorormaybenot l'a dit, vous utilisez const Text()
c'est pourquoi vous devez y avoir une valeur const
. Vous pouvez soit utiliser
Padding( padding: const EdgeInsets.all(value), // this value has to be a `const` because our padding: is marked const child: Text("HI there"), ); Padding( padding: EdgeInsets.all(10), // any double value child: Text("HI there"), );
ou
const textSize = 10.0;
Juste comme ce cas.
const double textSize = 10.0;
Vous déclarez votre widget Text
tant que const
, ce qui nécessite que tous ses enfants soient également const
. Si vous souhaitez résoudre ce problème, vous ne devez pas utiliser de widget de Text
const
dans ce cas, car vous souhaitez passer une variable non const.
La raison en est que Flutter utilise le mot-clé const
comme idicateur pour qu'un widget ne se reconstruise jamais car il sera évalué au moment de la compilation et une seule fois . Par conséquent, chaque partie de celui-ci doit également être constante.
double textSize = 10.04; // ... child: Text('Calculate Client Fees', style: TextStyle(fontSize: textSize))
En savoir plus à ce sujet dans cet article .
si vous souhaitez utiliser var
ou double textSize = 10.0;
alors le widget texte ne doit pas être un const. supprimer le const
avant le texte ()
child: Text('Calculate Client Fees', style: TextStyle(fontSize: textSize),)
child: Text('Calculate Client Fees', style: TextStyle(fontSize: textSize),)
Dans dart, lorsque vous passez quelque chose en paramètre dans un constructeur const, le compilateur s'assure que la valeur définie par défaut n'est pas modifiée lors de l'exécution du code.
Par conséquent, l'avertissement de valeur constante non valide.
Pour résoudre ce problème, vous devez supprimer le mot clé const de devant le texte.