Я работаю над кодом рефакторинга, чтобы отделить маленький кусочек виджетов.Есть несколько столбцов с TextFields
в каждом.
Выберите StatelessWidget
, поскольку он имеет большую производительность , может поместить код, связанный с TextEditingController, за пределы вспомогательных виджетов.Или включить некоторую логику в событие onChanged
.но все же есть некоторые события, такие как clear text
, которые нельзя вставить в onChanged
событие
Выберите StatefulWidget
, если я использую TextEditingController
, включите в каждый подвиджет виджет.
Как сделать выбор между StatelessWidget
и StatefulWidget
при выполнении кода рефакторинга для таких маленьких виджетов, как этот?
Обновление
Вот мой текущий вывод, который можно обновить, если он неверен.
- Предпочитаю ставить
FocusNode
TextEdit in parent
, поскольку он связан с братом focusNode & parentNode; - Предпочитатьпоставить
TextEdtingController
in parent
, если этот TextField может быть вне экрана, как в длинном ListView, и в этом случае виджет дырки с размонтированным, поместить его в родительский элемент может сохранить текстовые состояния. - Предпочитать поставить
animation self
как встряхивание TextField при вводе что-то не так in self
.Так как это своего рода функция self, не связанная с родителем.