Что такое store на уровне widget

Ответ

Store в контексте виджетов (например, во Flutter) — это объект, хранящий состояние приложения и предоставляющий методы для его изменения. Он часто используется с паттернами управления состоянием, такими как Provider, Bloc или Redux.

Основные особенности:

  • Хранение данных: централизованное место для состояния приложения.
  • Иммутабельность: состояние обычно неизменяемо, обновляется через создание нового объекта.
  • Реактивность: уведомляет виджеты об изменениях, вызывая их перерисовку.

Пример с Provider во Flutter:

class CounterStore extends ChangeNotifier {
  int _count = 0;
  int get count => _count;

  void increment() {
    _count++;
    notifyListeners(); // Уведомляет подписчиков
  }
}

// Использование в виджете:
Consumer<CounterStore>(
  builder: (context, store, child) => Text('${store.count}'),
);