Junior — Middle
Como pode implementar um componente próprio no Hilt para injeção de dependências?
sobes.tech IA
Resposta da IA
Para criar o seu próprio componente no Hilt, deve:
-
Definir uma interface de componente anotada com
@DefineComponent. Nela, indicam-se as dependências que estarão disponíveis dentro do componente. -
Criar uma anotação para ligar o componente ao ciclo de vida, usando
@DefineComponent.Buildere@Component.Builder. -
Ligar o componente criado a um componente Hilt existente usando a anotação
@DefineComponent(parent = ...), onde se indica o componente pai. -
Criar uma anotação para a injeção de dependências neste componente usando
@EntryPointou@InstallIn(YourCustomComponent.class).
Exemplo:
@DefineComponent(parent = SingletonComponent::class)
interface CustomComponent
@DefineComponent.Builder
interface CustomComponentBuilder {
fun build(): CustomComponent
}
@InstallIn(CustomComponent::class)
@Module
class CustomModule {
@Provides
fun provideSomething(): Something = Something()
}
Assim, pode criar componentes personalizados com o âmbito desejado e gerir as dependências de forma mais flexível.