Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter: List is deprecated? [duplicate]

Tags:

flutter

dart

After upgrading to the latest version of flutter, I get a deprecation warning for all my Lists.

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

Unfortunately, it does not give a hint of what to replace it with. So what are we supposed to use instead now?

  • Dart SDK version: 2.12.0-141.0.dev
  • Flutter: Channel master, 1.25.0-9.0.pre.42
like image 241
Chris Avatar asked Dec 13 '20 16:12

Chris


3 Answers

Ok found it, it's just how to instantiate it:

List<MyClass> _files = []; 

Edit: maybe the most common ones, a bit more detailed according to the docs:

Fixed-length list of size 0

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

Growable list

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

Fixed length with predefined fill

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

List with generate function

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'] 
like image 158
Chris Avatar answered Sep 23 '22 19:09

Chris


List<MyClass> myList = <MyClass>[];
like image 37
Serdar Polat Avatar answered Sep 21 '22 19:09

Serdar Polat


From:

_todoList = new List();

Change to:

_todoList = [];
like image 30
Cybergigz Avatar answered Sep 20 '22 19:09

Cybergigz