Безопасность Dart NULL и интеллектуальное обнаружение ненулевых значений

У меня проблемы с нулевой безопасностью Dart.

Даже когда я явно проверяю нули, он все равно жалуется

Восклицательный знак решает, что

но это довольно некрасиво и громоздко.

Есть ли способ сделать его умнее и приятнее? Как например header?.let{ it.toUpperCase() } в Котлине?

1 ответ

Я полагаю, что этот заголовок имеет тип String?. Кажется, что переменные, используемые в логических выражениях, должны быть частью локальной области текущего контекста. В вашем примере передача заголовка в виде строки? Типизированный аргумент позволяет вам получить доступ к методам String, если его значение не равно нулю.

        Widget _buildHeader(String? header) {
    if (header != null) {
      return Text(h.toUpperCase());
    }
    return Container();
  }

Другие вопросы по тегам