Sobes.tech
Junior — Middle

Шумо метавонед намудҳои калидҳоро, ки дар Flutter барои идоракунии widgetҳо истифода мешаванд, номбар кунед?

sobes.tech AI

Ҷавоб аз AI

Дар Flutter, навъҳои калидҳои зерин барои идоракунии ҳолат ва шенасоии widget истифода мешаванд:

  • GlobalKey — калиди беназири, ки имкон медиҳад, ки дастрасӣ ба ҳолати widget аз ҳар ҷое дар барнома. Ҳангоми ниёз ба нигоҳ доштани ҳолат ё идора кардани widget берун аз контексти он истифода мешавад.

  • LocalKey — синфи асосӣ барои калидҳое, ки дар дохили як падар беназир мебошанд. Инҳо дохил мешаванд:

    • ValueKey<T> — калид, ки ба арзиш (масалан, сатр ё рақам) асос ёфтааст, барои шенасоии widgetҳое бо арзиши муайян муфид аст.
    • ObjectKey — калид, ки ба объект асос ёфтааст, объектҳоро бо истинод муқоиса мекунад.
  • UniqueKey — калиди беназирро тавлид мекунад, ки ҳамеша аз дигарон фарқ мекунад. Ҳангоми талаб кардани таъмини дубора сохтан ё навсозии widget истифода мешавад.

Маслиҳат барои истифодаи ValueKey:

ListView(
  children: items.map((item) => ListTile(
    key: ValueKey(item.id),
    title: Text(item.name),
  )).toList(),
)