const Text(‹ Cliquer ici! $_counter ›),
Le bonjour amène la conversation et la conversation amène la carotte.
Driss CHRAIBI
Bonjour @LucasSeu
Donne nous un peu plus de contexte, langage, techno sinon ta requête risque d’avoir une erreur 504
Voila je suis débutant en programmation flutter et j’ai essayés de le code dans la vidéo 3.3 de
voici l’erreur:
A value of type ‹ Null › can’t be assigned to a parameter of type ‹ String › in a const constructor.
voici mon code:
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(title: 'test 75'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'nombre de click: $_counter',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
}
au niveau du const Text()
Salut @LucasSeu , tout d’abord bienvenu parmi nous
Effectivement ton code te retourne une erreur car tu lui indique que ton widget Text()
sera constant (car tu écris const Text("..")
) mais, tu lui dit que tu veux afficher une variable du nom de _counter
.
Qui dit variable, dit valeur qui va potentiellement par la suite être modifiée (notamment dans ta fonction _incrementCounter
où ta variable _counter
sera incrémenté de 1).
Ceci dit, le contenu de ton widget Text()
ne peut donc pas être constant car il contient une variable qui peut évoluer.
La solution est donc de retirer le const
placé devant ton widget Text()
.
Résumé :
const
= valeur qui ne peut pas changer. (les enfants du contenu en question ne doivent pas être « modifiable » non plus).
Ps : lorsque tu fais un post sur ce forum et que tu veux insérer du code, tu peux cliquer sur ce bouton
Merci bien pour les explications et aussi pour l’astuce d’insertion de code
Si ma réponse t’a apporté la solution, pense à indiquer que ton sujet a été résolu
Bon code à toi @LucasSeu !