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.