58
votes

Flutter: la liste est obsolète?

Après la mise à niveau de la dernière version de Flutter, j'obtiens un avertissement de dépréciation pour toutes mes listes.

List<MyClass> _files = List<MyClass>();
=>'List' is deprecated and shouldn't be used.

Malheureusement, il ne donne pas un indice de ce qu'il faut le remplacer. Alors, que sommes-nous censés utiliser à la place maintenant?

  • Dart SDK Version: 2.12.0-141.0.dev
  • Flutter: Channel Master, 1.25.0-9.0.pre.42


3 commentaires

Voir Liste


Le peluche signifie que le constructeur non nommé est obsolète, pas le list tapez lui-même.


Cette question ici et ses réponses sont beaucoup plus claires que l'autre là-bas: stackoverflow.com/questions/63451506/…


4 Réponses :


118
votes

ok l'a trouvé, c'est juste comment l'instancier:

int length = 3;
MyClass myFun(int idx) => MyClass(id: idx);
List<MyClass> _list = List.generate(length, myFun, growable: true); 
// => [Instance of 'MyClass', Instance of 'MyClass', Instance of 'MyClass']

modifier : Peut-être les plus courants, un peu plus détaillés selon le docs :

Liste de longueur fixe de Taille 0

int length = 3;
String fill = "test";
List<String> _list =  List<String>.filled(length ,fill , growable: true);
// => ["test", "test", "test"]

Liste grandissante

List<MyClass> _list = [];
//or
List<MyClass> _list = List<MyClass>.empty(growable: true);

Longueur fixe avec remplissage prédéfini

List<MyClass> _list = List<MyClass>.empty();


2 commentaires

Comment lancez-vous une liste avec une taille statique comme celle-ci? (Il donne le même avertissement de dépréciation)


@spydon voir les modifications



25
votes
List<MyClass> myList = <MyClass>[];

0 commentaires

7
votes

de:

_todoList = [];

Changez:

_todoList = new List();


0 commentaires

-1
votes

Old Version

List<Widget> widgetList = [];


0 commentaires