Sobes.tech
Middle

Na čo sa používajú kľúče vo Flutteri?

sobes.tech AI

Odpoveď od AI

Kľúče sa používajú na identifikáciu widgetov a prvkov v strome widgetov Flutter. To je dôležité pre:

  • Aktualizáciu widgetov: Flutter používa kľúče na určenie, či má widget znovu zostaviť alebo len aktualizovať jeho existujúci exemplár. Ak sa kľúč widgetu nezmení a jeho údaje sa aktualizujú, Flutter znovu použije a aktualizuje existujúci prvok namiesto vytvorenia nového.
  • Udržiavanie stavu: Kľúče umožňujú zachovať stav widgetov pri ich premiestňovaní v strome widgetov alebo pri zmene poradia detí v zozname.
  • Efektivitu: Použitie kľúčov pomáha Flutteru optimalizovať proces renderovania, vyhýbať sa zbytočným rekonštrukciám prvkov.

Existujú rôzne typy kľúčov:

  • LocalKey: Základná trieda pre kľúče, jedinečné v rámci rodičovského widgetu.
    • ValueKey<T>: Používa konkrétnu hodnotu (String, int atď.) ako jedinečný identifikátor.
    • ObjectKey: Používa odkaz na objekt ako jedinečný identifikátor.
  • GlobalKey: Globálne jedinečné kľúče v rámci celej aplikácie. Sú používané na prístup k stavu widgetu z akéhokoľvek miesta alebo na zachovanie stavu widgetu pri jeho premiestnení na iné obrazovky.
    • GlobalKey<T extends State<StatefulWidget>>: Na prístup k stavu StatefulWidget.
    • GlobalKey: Pre iné globálne identifikátory.

Príklad použitia ValueKey v ListView na zachovanie stavu prvkov zoznamu:

ListView.builder(
  itemCount: items.length,
  itemBuilder: (context, index) {
    final item = items[index];
    return Dismissible(
      key: ValueKey(item.id), // Jedinečný kľúč pre každý prvok
      onDismissed: (direction) {
        // Odstrániť prvok
      },
      child: ListTile(title: Text(item.name)),
    );
  },
);