Почему я не могу использовать nullable type в flutter

#flutter #dart #nullable

#flutter #dart #nullable

Вопрос:

У меня есть проект flutter, созданный в январе 2019 года. Я прочитал статью в Dart и говорит, что она поддерживает nullable type.

 class c {
  int? id;
}
  

Но я не могу скомпилировать вышеуказанное. Это выдает некоторое сообщение об ошибке, но не имеет ничего общего с nullable type. Похоже, он вообще не понимает ‘?’.

Ошибка: введите описание изображения здесь

Могу ли я узнать, чего может не хватать в моем коде? Нужно ли мне обновить мой Dart или Flutter? Я посмотрел на pubspec.yaml, но не могу найти ни одной ссылки на dart.

Ответ №1:

Вам не нужно использовать null safety сейчас, официальная поддержка flutter должна появиться в начале следующего года, по словам команды flutter, он еще не готов к производству. Но если вы просто хотите его протестировать, обновите свой sdk, sdk: «> = 2.7.0 <3.0.0»

Вам нужно создать analysis_options .файл yaml в корне вашего приложения flutter и напишите что-то вроде

 analyzer:
  enable-experiment:
    - non-nullable
  

А также убедитесь, что у вас достаточно свежая версия flutter

 flutter upgrade
  

Майкл Томсен из Dart опубликовал сегодня этот пост, в котором он подробнее объясняет безопасность null в Flutter. https://medium.com/flutter/null-safety-flutter-tech-preview-cb5c98aba187