Sobes.tech
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:

  1. Definir uma interface de componente anotada com @DefineComponent. Nela, indicam-se as dependências que estarão disponíveis dentro do componente.

  2. Criar uma anotação para ligar o componente ao ciclo de vida, usando @DefineComponent.Builder e @Component.Builder.

  3. Ligar o componente criado a um componente Hilt existente usando a anotação @DefineComponent(parent = ...), onde se indica o componente pai.

  4. Criar uma anotação para a injeção de dependências neste componente usando @EntryPoint ou @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.