#flutter #dart #migration #null-safety
Вопрос:
Я обновил свою версию проекта flutter до последней версии (2.5.3). Затем произошли некоторые ошибки из null-safety
-за неподдержки . Я исправил многие, но до сих пор не имею ни малейшего представления о том, как исправить следующую null-safety
ошибку,
Код
itemBuilder: (context, suggestion) { return ListTile( subtitle: Text( suggestion.stateA == null || suggestion.stateB == null ? '${suggestion.city}, ${suggestion.country}' : '${suggestion.city}, ${suggestion.state}, ${suggestion.country}', style: Theme.of(context).textTheme.bodyText, ), ); }
Ошибки
The property 'stateA' can't be unconditionally accessed because the receiver can be 'null'. The property 'stateB' can't be unconditionally accessed because the receiver can be 'null'. The property 'city' can't be unconditionally accessed because the receiver can be 'null'. The property 'country' can't be unconditionally accessed because the receiver can be 'null'.
как добавить проверку нулевой безопасности выше кода?
Я уже пробовал с !
?
операторомamp;, но у меня это не работает
(т. е. suggestion!.state
)
Комментарии:
1. попробуйте изложить логику того, что делать, если он равен нулю вне текстового виджета
2. Я тоже пробовал этот тип. но и эта проблема до сих пор не устранена. 🙁
3. не могли бы вы попробовать сделать что-то вроде:
Text(suggestion.city ?? whateverNotNull)
?4. если предложение!.состояние не работает, пожалуйста, добавьте дополнительную информацию к вашему вопросу
5. В вашем вопросе очень мало контекста. Почему ваш компилятор предполагает, что
suggestion
это может быть null, является ли это переменной, допускающей значение null? Если вы уверены, что он не равен нулю, сообщите об этом своему компилятору, сделав его ненулевым.