Блок реактивного программирования Дидье Боэлена или как реализовать блок для всего приложения

#flutter #dart #state #bloc #inherited-widget

#flutter #dart #состояние #блок #унаследованный-виджет

Вопрос:

Я изучил довольно много страниц, чтобы узнать, как наилучшим образом реализовать блок для всего приложения (для аутентификации, управления пользователями и инициализации). Я не нашел так много, и для новичка в отношении этого уровня шаблонов блоков мне было трудно определить разумный.

Описанный здесь шаблон Дидье Боэлена представляется наиболее многообещающим.

  1. Это все еще звуковой шаблон (он с 2018 года), или тем временем библиотека блоков развивалась, или другие шаблоны оказались лучше / проще? Какой был бы более простой, но все же благоприятный шаблон?

  2. Статья начинается с блока, предоставленного встроенным в InheritedWidget. Если кто-то знаком с этим, не мог бы он / она объяснить, пожалуйста, простыми словами, зачем нам нужен bloc_event_state_builder и bloc_event_stream поверх блока / события / состояния? Почему я не могу использовать простой шаблон блоков / событий / состояний непосредственно с bloc_provider I read «Иногда, обработка серии действий, которые могут быть последовательными или параллельными, длинными или короткими, синхронными или асинхронными и которые также могут привести к различным результатам, может стать чрезвычайно сложной для программирования. Вам также может потребоваться обновить отображение вместе с прогрессом или в зависимости от состояний. » но, я думаю, я не понимаю оркестровки всех элементов его шаблона.

  3. Он определяет class BlocProvider<T extends BlocBase> extends StatefulWidget ссылку на унаследованный виджет. Я полагаю, я правильно предполагаю, что это повлияет на все другие мои блоки, специфичные для страницы, где я использовал готовые блоки BlocProvider из пакета блоков ?!

Комментарии:

1. Взгляните на bloclibrary.dev и их примеры, это отличная библиотека, которая намного упрощает жизнь. Их примеры охватывают упомянутые вами случаи.

2. Приветствия, я уже «позаимствовал» их дизайн ToDo, тем временем 🙂