Sobes.tech
Junior — Middle

Ar galite išvardyti Flutter naudojamus raktų tipus, skirtus valdyti widgetus?

sobes.tech AI

Atsakymas iš AI

Flutter'e naudojami šie raktų tipai, norint valdyti būseną ir identifikuoti widget'us:

  • GlobalKey — unikalus raktas, leidžiantis pasiekti widget'o būseną iš bet kurios programos vietos. Naudojamas, kai reikia išsaugoti būseną arba valdyti widget'ą už jo konteksto ribų.

  • LocalKey — pagrindinė klasė raktams, kurie yra unikalūs vieno tėvo ribose. Apima:

    • ValueKey<T> — raktas, pagrįstas verte (pvz., eilutė ar skaičius), naudingas identifikuojant widget'us su tam tikra verte.
    • ObjectKey — raktas, pagrįstas objektu, lygina objektus pagal nuorodą.
  • UniqueKey — generuoja unikalų raktą, kuris visada skiriasi nuo kitų. Naudojamas, kai norima garantuoti, kad widget'as bus iš naujo sukurtas.

ValueKey pavyzdys:

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