Карточка Middle Виджеты и три дерева обновлено
Виды ключей во Flutter
Вопрос
Какие бывают ключи и когда какой использовать?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
ValueKey(id) для элементов списка по стабильному значению. ObjectKey(obj) когда уникален сам объект.
Ответ
ValueKey(id) для элементов списка по стабильному значению. ObjectKey(obj) когда уникален сам объект. UniqueKey() чтобы принудительно пересоздать элемент и сбросить состояние (создавать один раз, не в build). GlobalKey для доступа к State/context и переноса поддерева с состоянием.
Разбор
Ключ по индексу бесполезен в списках, где элементы удаляются или переставляются.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Виджеты и три дерева»
- Flutter: когда элемент переиспользуется
- Widget, Element, RenderObject
- Flutter: когда нужен GlobalKey
- Flutter: удаление элемента списка без ключей
- Ключи и их назначение
- Код-ревью: список задач
- Flutter: Scaffold.of не находит Scaffold
- Flutter: что перестраивает setState