-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Export de binds na v6 do flutter_modular #916
Comments
Olá @darcanj0, |
Eu estou um pouco confuso nessa atualização. Pq n deixar a gente criar binds no module principal que possa ser usado em todo o app? @jacobaraujo7 |
Estou passando pelo mesmo problema |
@railsonsm e @danilocarreiro, se o bind foi criado no módulo principal, você pode usar em todo o App, basta usar O que não pode ser feito é você recuperar automaticamente na área de binds de outro módulo para injetar como dependência em outro Bind, pois nesse caso precisa exportar num módulo "Core" e importar nos módulos que precisa. |
Opa @eduardoflorence era justamente isso q eu estava tentando fazer. Eu tenho esses binds do meu AppModule Ai eu estava tentando usar eles ali no meu UsuarioService que só funcionou injetando o AppModule no meu outro modulo. Acredito q nesse caso seria interessante criar apenas um modulo com Binds que eu queira usar em outros lugares, correto? Como fazemos no angular |
Exatamente @railsonsm class CoreModule extends Module {
@override
void exportedBinds(i) {
i.addSingleton<UserDataSource>(UsesDataSourceImpl.new);
i.addSingleton<UserRepository>(UserRepositoryImpl.new);
}
} |
Show @eduardoflorence, muito bom! Tmj! |
Ambiente
Descrição
Estou com dificuldades para conseguir compartilhar uma classe de Store feita com Mobx entre dois módulos da minha aplicação.
Tenho um Store de Autenticação (AuthStore) definido no meu AuthModule. Ele tem essa estrutura de dependências:
AuthStore -> AuthService -> ApiService
Ou seja, ele depende de um AuthService, que por sua vez, depende de um ApiService
No meu AuthModule, todas essas três classes já estão listadas dentro dos binds como Singletons, de tal forma que consigo usar meu AuthStore normalmente dentro do AuthModule.
Tenho a necessidade de usar esse store dentro de um
HomeModule
.Tanto
AuthModule
, quantoHomeModule
já estão registrados como módulos noAppModule
.Também, já importei o
AuthModule
para dentro do meuHomeModule
.O problema está sendo em descobrir qual método do injetor eu uso, para registrar esse store, para ser exportado dentro do
AuthModule
.Quando uso qualquer um dos métodos
i.add..
do injetor, recebo um erro apontando que a classe já existe no injetor.Por outro lado, quando uso algum método
i.get
, ele diz que a instância que é pedida no get não está registrada.Qual a maneira correta de realizar esse export?
Além disso, há outro problema:
Tem um momento da minha aplicação, em que eu saio do
AuthModule
, para navegar para oHomeModule
. Nesse processo, oAuthModule
está sendo encerrado, fazendo com que eu perca dados desseAuthStore
, que eu gostaria de compartilhar. Minha ideia inicial era de ter dentro desse store um stream, para que eu pudesse controlar o estado de autenticação de um usuário no meu app.Essa é uma decisão correta? Uma vez que eu conseguir exportar meu store, para ser usado em outro módulo, como posso prevenir que meu
AuthModule
(e consequentemente meu store) não seja encerrado?Comportamento esperado
Necessitava que um store fosse compartilhado entre dois módulos, bem como suas dependências
Código
Exemplo de um Singleton
O AuthStore mencionado
The text was updated successfully, but these errors were encountered: