Выберите StatelessWidget или StatefulWidget для подчиненного виджета с TextEditingController

Я работаю над кодом рефакторинга, чтобы отделить маленький кусочек виджетов. Там есть несколько столбцов с TextFields в каждом.

  1. Выбрали StatelessWidget так как он имеет большую производительность, может поместить связанный с TextEditingController код за пределы виджетов. Или включить некоторую логику в onChanged мероприятие. но все же есть некоторые события, такие как clear text не могу положить в onChanged мероприятие

  2. Выбрали StatefulWidget если я использую TextEditingController включить внутри каждого суб виджета.

Как сделать выбор между StatelessWidget а также StatefulWidget когда делать код рефакторинга в такие маленькие виджеты?


Обновить

Вот мой текущий вывод, который можно обновить, если он не верен.

  • Предпочитаю ставить FocusNode TextEdit in parent так как это связано с братом focusNode & parentNode;
  • Предпочитаю ставить TextEdtingControllerin parent, если это TextField может быть вне экрана, как в длинном ListView, и в этом случае виджет дыры с unmount, поместите его в parent может сохранить текстовые состояния.
  • Предпочитаю ставить animation self как трясти TextField при вводе что-то не так in self, Так как это своего рода особенность Я, не связанная с родителем.

1 ответ

Отредактируйте в ответ на обсуждение в разделе комментариев:

Вы должны пойти со вторым подходом при рефакторинге вашего кода в меньший StatefulWidgets, И parent должна иметь функцию для изменения содержимого вложенных TextFields и его animation поведение, вызывая функции внутри него, как вы ранее указали, вам нужно управлять этим поведением.

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