Flutter : 목록은 더 이상 사용되지 않습니까?

Dec 14 2020

최신 버전의 flutter로 업그레이드 한 후 모든 목록에 대한 지원 중단 경고가 표시됩니다.

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

안타깝게도 대체 대상에 대한 힌트를 제공하지 않습니다. 그럼 이제 대신 무엇을 사용해야할까요?

  • Dart SDK 버전 : 2.12.0-141.0.dev
  • Flutter : 채널 마스터, 1.25.0-9.0.pre.42

답변

38 Chris Dec 13 2020 at 23:34

Ok 찾았습니다. 인스턴스화하는 방법입니다.

List<MyClass> _files = [];

편집 : 아마도 가장 일반적인 것, 문서 에 따라 조금 더 자세히 설명합니다 .

크기 0의 고정 길이 목록

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

성장 가능한 목록

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

미리 정의 된 채우기가있는 고정 길이

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

생성 기능이있는 목록

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

에서:

_todoList = new List();

로 변경:

_todoList = [];