Обмен знаниями 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. Не стесняйтесь задавать любой вопрос, с которым вы столкнетесь, в разделе ответов ниже.
Удачного кодирования !!!!
Вы нашли этот пост полезным? Пожалуйста, нажмите кнопку 👏 ниже! :)