Flutter Blo c Как создать приложение (глобальное или локальное состояние) и структуру папок? - PullRequest
1 голос
/ 29 января 2020

Итак, сначала я немного знаком с Флаттером, и я только начинаю с BLo C. Я создал приложение, которое вызывает API моего сайта WordPress и отображает определенные c статьи. Я использую пакет провайдера, чтобы управлять всем как глобальным состоянием. Поставщик инициируется внутри MyApp. Прямо сейчас приложение работает так:
1. Пользователь запускает приложение, и приложение вызывает API WordPress ( только в начале, один раз )
2. Все товары передаются в модель товара

class Article{
   final String id;
   final String category;
   final String date;
   final String image;
   final String text;

   Article(this.id,this.category,this.date,this.image,this.text);
}

(это происходит только один раз при запуске и отображается индикатор загрузки). 3. После успешной загрузки пользователю отображаются все статьи. Эти статьи отображаются в ListView, каждая статья имеет кнопку «Нравится», и когда пользователь нажимает на нее, идентификатор статьи добавляется в список строк ( favourArticleIds , который будет сохранен с SharedPreferences). Или, если пользователь нажимает на изображение статьи, появится всплывающее окно с изображением и текстом. С помощью ящика пользователь может перейти к другому экрану, например, «Избранное», где отображаются все понравившиеся пользователю статьи. Я использую ListView и использую простой if (если favouriteArticleIds.contains (article [index] .id) ). Теперь внутри моего класса AppState, в этом единственном классе очень запутано все логики c. С новыми запланированными функциями, такими как режим Dark и аутентификация пользователей. Так что мой вопрос на самом деле заключается в том, как структурировать это приложение, включая тесты? Какой частью должно быть местное государство, а какое глобальное государство? Также было бы здорово, если бы кто-нибудь мог дать мне несколько примеров того, как разделить приложение на определенные c папки. Спасибо

...