Можно ли поместить textController в пользовательское поле

#flutter #dart

Вопрос:

Я неоднократно использую одно и то же поле, поэтому вместо размещения текстового контроллера в главном виджете я сделал это в пользовательском поле. Нормально ли это делать так, или произойдет утечка памяти.

 class CTextField2 extends StatefulWidget {  const CTextField2({  Key? key,  required this.textController,  required this.valid,  });   final TextEditingController textController;  final String valid;   @override  Statelt;CTextField2gt; createState() =gt; _CTextField2State(); }  class _CTextField2State extends Statelt;CTextField2gt; {  @override  void dispose() {  widget.textController.dispose();  super.dispose();  }   @override  Widget build(BuildContext context) {  return TextFormField(  controller: widget.textController,  keyboardType: TextInputType.text,  validator: (value) {  if (value == null || value.isEmpty) {  return widget.valid;  }  return null;  },  );  } }  

Комментарии:

1. Это потенциально может привести к сбою, если родительский виджет зарегистрировал слушателей для этого TextField , и вы получите сообщение об ошибке, например Could not use listenable after dispose.