Обмен знаниями Flutter # 45

Эта статья - еще один шаг в моем пути разработки Flutter. Здесь я расскажу о нулевой безопасности Flutter - важной теме, которая возникла в новой версии Flutter. У вас много проблем с этой темой, например, Как это работает? Как это используется? Когда его можно использовать ?. Здесь я пытаюсь ответить на них, приводя наглядные примеры. Как обычно, я буду показывать каждый шаг на примерах того, как мы достигаем нулевой безопасности во Flutter.

Ваша программа может стать недействительной в любой момент. Даже при правильной компиляции вам не гарантируется, что после этого какой-либо объект не может иметь значение NULL. Есть возможности получить null из серверной части или многих других частей приложения. Это была проблема в языке дротиков. Из-за этого они переработали всю иерархию и добавили функцию, называемую нулевой безопасностью.

После того, как вы обеспечите нулевую безопасность, ваш код не получит никаких исключений во время выполнения в результате получения любого нулевого значения во время выполнения. Перед этим ваше приложение в любой момент выйдет из строя из-за нулевых исключений. Если вы новичок во Flutter, вы должны понимать эту терминологию.

Я покажу вам разницу, когда с нулевой безопасностью и без нее. Поэтому я сначала установил старый SDK, а затем новую версию SDK.

Сначала я запускаю приложение с версией Dart старше 2.12. Вначале он дает нам файл «main.dart» с простым приложением для подсчета. Я изменил это, добавив текстовый виджет. Этот текстовый виджет покажет длину параметра, называемого «ключ», когда число равно 10. Но посмотрите, что происходит при запуске программы.

void _incrementCounter(String key) {
  setState(() {
    _counter++;
    if(_counter == 10){
      _key = key;
    }
  });
}
body: Center(
  child: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: <Widget>[
      const Text(
        'You have pushed the button this many times:',
      ),
      Text(
        '$_counter $_key',
        style: Theme.of(context).textTheme.headline4,
      ),
    ],
  ),
),
floatingActionButton: FloatingActionButton(
  onPressed: () => _incrementCounter(null),
  tooltip: 'Increment',
  child: const Icon(Icons.add),
),

Это дало ошибку. Такого рода опыт не должен происходить в ваших приложениях. Не зная явно, программа выдаст такие нулевые ошибки. Это проблема, решаемая нулевой безопасностью.

Итак, мы можем увидеть решение с этой новой функцией. Удивительно, но ошибка возникает перед казнью. Тогда разработчик сможет найти ранние решения для такого рода ошибок. Это будет полезно и для UX, потому что позволяет избежать каких-то неожиданных обстоятельств. Ниже вы можете увидеть причину ошибки, которую они предлагают еще до времени компиляции.

Error: Null can't be assigned to a variable of type 'String' because 'String' is not nullable.

Итак, это краткое введение о том, что такое нулевая безопасность во Flutter. Вы можете узнать больше об используемых синтаксисах здесь.

Заключение

Надеюсь, у вас есть представление о нулевой безопасности во Flutter. Не стесняйтесь задавать любой вопрос, с которым вы столкнетесь, в разделе ответов ниже.
Удачного кодирования !!!!
Вы нашли этот пост полезным? Пожалуйста, нажмите кнопку 👏 ниже! :)