trzepot - potrzebne są kolekcje kontroli przepływu, ale czy tak?


14

Po uaktualnieniu trzepotania (zarówno wersji głównej, jak i stabilnej) i rzutki pojawia się błąd dotyczący eksperymentu - kolekcje kontroli przepływu nie są włączone dla różnych pętli for, których używam w projekcie. Próbowałem to naprawić za pomocą tego wpisu, ale to tylko pogorszyło sytuację. Tak więc teraz mam poniższy błąd, który mówi mi, że potrzebuję włączyć eksperyment gromadzenia kontroli przepływu, jednocześnie mówiąc mi, że nie jest już wymagany.

 eex

Ten błąd pojawia się przy każdej używanej pętli for.

Oto mój trzepot - wersja

Stable:
Flutter 1.12.13+hotfix.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 27321ebbad (13 days ago)2019-12-10 18:15:01 -0800
Engine • revision 2994f7e1e6
ToolsDart 2.7.0

Master:
Flutter 1.13.6-pre.16 • channel master • https://github.com/flutter/flutter.git
Framework • revision fcaf9c4070 (2 days ago)2019-12-21 14:03:01 -0800
Engine • revision 33813929e3
ToolsDart 2.8.0 (build 2.8.0-dev.0.0 886615d0f9)

Wszelkie pomysły, jak to rozwiązać?

Odpowiedzi:


40

Hej, miałem ten sam problem dziś rano, ale znalazłem rozwiązanie.

1) Zachowaj plik Analysis_options.yaml w folderze głównym z tym kodem:

analyzer:
  enable-experiment:
    - control-flow-collections

2) Nie używaj nawiasów {} pomiędzy pętlami for np.

<Widget>[
  for (final category in categories) 
    CategoryWidget(category: category)
],

3) Ważny krok, prawdopodobnie dlatego nie działa dla ciebie: zmień ograniczenie wersji Dart w pliku pubspec.yml w folderze głównym na 2.5.2

environment:
  sdk: ">=2.5.2 <3.0.0"

16
numer 3
załatwił sprawę

Flaga control-flow-collectionsnie jest już wymagana
Jibiel


5

Nawet po zmianie dart versionnie działało, po prostu uruchom ponownie VS Codeedytor lub inny edytor, którego używasz. Następnie sprawdź, czy występuje błąd. Jeśli tak, to uruchom flutter clean.


3

Zmień wersję rzutki w pubspec.yml

environment:
  sdk: ">=2.6.0 <3.0.0"

następnie

 flutter pub get
 flutter clean

I uruchom ponownie Android Studio


2

Wystarczyła mi aktualizacja minimalnej wersji Dart pubspec.yaml:

environment:
  sdk: ">=2.7.0 <3.0.0"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.