Flutter сохраняет значение поставщика в переменной, чтобы повторно использовать его во время прослушивания

avatar
Chris
8 августа 2021 в 22:04
98
1
0

Я использую пакет Provider для хранения некоторых данных в своем приложении. Для этого у меня также есть Service-Class, где я определяю несколько функций. Теперь дело в том, что мне нужны эти два значения почти в каждой функции:

  Year currentYear =
      Provider.of<CurrentlySelectedProvider>(context, listen: true)
          .currentYear;
  Month currentMonth =
      Provider.of<CurrentlySelectedProvider>(context, listen: true)
          .currentMonth;

Сейчас я просто вызываю это внутри каждого метода класса. Но это выглядит немного глупо. Есть ли способ определить эти два значения где-нибудь в моем классе, чтобы я мог получить к ним доступ с помощью простой переменной, и мне не нужно вызывать метод. все это снова и снова?

Надеюсь, моя проблема ясна. Дайте мне знать, если вам нужна дополнительная информация!

Источник

Ответы (1)

avatar
user2233706
9 августа 2021 в 04:22
0

Вы можете создать функцию получения:

CurrentlySelectedProvider get myProvider => Provider.of<CurrentlySelectedProvider>(context, listen: false);

Затем вы можете получить к нему доступ в каждой функции следующим образом:

myProvider.currentYear;
myProvider.currentMonth;