Junior — Middle
Máte skúsenosti s používaním šablóny Scoped Model vo svojich projektoch Flutter?
sobes.tech AI
Odpoveď od AI
Áno, v projektoch Flutter som použil vzor Scoped Model na správu stavu. Scoped Model umožňuje organizovať stav aplikácie v modeloch, ktoré sú dostupné pre deti widgety cez kontext.
Hlavné body:
- Model dedí od
Modela obsahuje dáta a metódy na ich zmenu. - Widgety sa prihlásia na zmeny modelu cez
ScopedModelDescendant, čo umožňuje automaticky aktualizovať UI pri zmene stavu.
Príklad:
class CounterModel extends Model {
int _count = 0;
int get count => _count;
void increment() {
_count++;
notifyListeners();
}
}
// V widgete
ScopedModel<CounterModel>(
model: CounterModel(),
child: ScopedModelDescendant<CounterModel>(
builder: (context, child, model) => Text('Count: \\${model.count}'),
),
)
Tento prístup je jednoduchý a vhodný pre malé a stredné aplikácie, ale pre zložitejšie projekty sa často používajú výkonnejšie riešenia ako Provider alebo Bloc.