Flattern: Liste ist veraltet?

Dec 14 2020

Nach dem Upgrade auf die neueste Version von Flutter erhalte ich für alle meine Listen eine Warnung zur Ablehnung.

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

Leider gibt es keinen Hinweis darauf, durch was es ersetzt werden soll. Also, was sollen wir jetzt stattdessen verwenden?

  • Dart SDK Version: 2.12.0-141.0.dev
  • Flattern: Kanalmaster, 1.25.0-9.0.pre.42

Antworten

38 Chris Dec 13 2020 at 23:34

Ok, ich habe es gefunden, es ist nur so, wie man es instanziiert:

List<MyClass> _files = [];

Bearbeiten : vielleicht die häufigsten, etwas detaillierter gemäß den Dokumenten :

Liste mit fester Länge der Größe 0

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

Anbaubare Liste

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

Feste Länge mit vordefinierter Füllung

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

Liste mit Generierungsfunktion

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']
SerdarPolat Feb 09 2021 at 01:25
List<MyClass> myList = <MyClass>[];
Cybergigz Feb 13 2021 at 15:09

Von:

_todoList = new List();

Ändern:

_todoList = [];