Flutter: Какой способ сохранить список глобально, чтобы сохранить состояние после навигации по моему приложению? - PullRequest
0 голосов
/ 24 апреля 2020

У меня в основном есть список стилей, в котором пользователи могут создавать элементы списка, и он отображается в списке на экране. Когда я возвращаюсь в главное меню и возвращаюсь, список не сохраняется. Я сохранил списки в следующем виде:

class CustomExScreenState extends State<CustomExScreen>
    with TickerProviderStateMixin {
  List<Exerciselist> items = new List<Exerciselist>();
  GlobalKey<AnimatedListState> animatedListKey = GlobalKey<AnimatedListState>();
  AnimationController emptyListController;

Нужно ли мне повторять этот код для каждого «экрана», к которому я могу перейти? Это лучший / более простой способ? Извиняюсь, если вопрос не ясен, я плохо знаком с программированием и немного потерян. Если кто-то может дать мне точку в правильном направлении, это будет высоко ценится! Спасибо

1 Ответ

1 голос
/ 24 апреля 2020

У вас есть два основных способа:

  1. использовать пакет провайдера: вы создаете ChangeNotifier и помещаете свой список туда, а затем вы предоставляете это ChangeNotifier в своем дереве виджетов над всеми виджетами, которые должны доступ к нему, затем вы можете использовать пакет provider для доступа к списку из всех привилегированных виджетов (нажмите здесь для примера использования этого пакета)
  2. (менее элегантно) : вы можете определить список как глобальную переменную в модуле (файле) вне любого класса, импортировать его в любой другой файл и использовать его
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...