#flutter #dart #constructor #flutter-widget
Вопрос:
Я получил уведомление (не об ошибке) о Use key in widget constructors.
том, что, допустим, у меня есть такой класс без состояния :
class TeaTile extends StatelessWidget { final TheTea? tea; const TeaTile({this.tea}); //the warning in hire! @override Widget build(BuildContext context) { return Container(); } }
в базовом формате без сохранения состояния есть ключ, подобный этому :
class TeaTile extends StatelessWidget { const TeaTile({ Key? key }) : super(key: key); //this one @override Widget build(BuildContext context) { return Container(); } }
Я знаю, как отключить правило ключа use_key_in_widget_constructors: false
. но я не хочу этого делать. итак, как я добавляю key
в
final TheTea? tea; const TeaTile({this.tea});
чтобы решить проблему с предупреждением?
Ответ №1:
Вы можете просто использовать:
final TheTea? tea; const TeaTile({ Key? key, this.tea }) : super(key: key);
В основном комбинация того и другого, вы все еще принимаете именованный параметр key
, который передаст его значение суперконструктору, и другой именованный параметр tea
, который установит ваше конечное значение переменной.