хорошая практика?. вообще то как правильно??
Никто не запрещает) А можно больше подробностей?
Что то не то написал. Мультипровайдера нужно объявлять там, где уже есть контекст приложения. То есть уже в MaterialApp
Не нужно все блоки провайдить сразу, в начале. В начале (наверху, глобально — доступно отовсюду) провайдятся именно те блоки/кубиты, которые могут понадобятся в любом месте/состоянии приложения. Например, кубит для переключения локали или кубит для темы или кубит начальной инициализации приложения, через который будут определены глобальные данные. Все остальные блоки/кубиты провайдятся по месту, контекстно, там где они действительно нужны и там, где они будут после, за ненадобностью, уничтожены. Место провайда определяется архитектурой, иерархией и необходимостью. И не используйте блоки, там, где их можно заменить кубитами. Простое правило: используйте везде кубиты за исключением случаев, когда функционал кубита не позволяет реализовать то, что может реализовать блок (https://pub.dev/packages/bloc_concurrency)
аха понятно спасибо
Услышь я ваш совет раньше я может быть get_it никогда не использовал бы. эх... первым моим порывом после изучения bloc постараться запихнуть все провайдеры в мультипровайдер и конечно пожив с таким ужасом какое то время пришел к мысли что так жить нельзя и ушел на di вместо того чтобы додуматься до вашей безусловно хорошей идеи.
Это не моя идея. Я пока не вижу ситуаций, когда нельзя было бы обойтись без get_it.
Лень. Это ситуация "лень". Когда лень сесть и подумать.
Бывает, вот когда ситуация «алень» - это хуже )
Обсуждают сегодня