Why doesnt this work? The ViewModel is being insta...
# koin
l
Why doesnt this work? The ViewModel is being instantiated every render
Copy code
@Composable
fun Composable(
) {
    val coroutineScope = rememberCoroutineScope()
    val viewModel: ViewModel = koinInject { parametersOf(coroutineScope) }
}
koinInject has a remember so i dont understand why it doesnt work
Copy code
@Composable
inline fun <reified T> koinInject(
    qualifier: Qualifier? = null,
    scope: Scope = LocalKoinScope.current,
    noinline parameters: ParametersDefinition? = null,
): T = rememberKoinInject(qualifier, scope, parameters)

/**
 * alias of koinInject()
 *
 * @see koinInject
 *
 * @author Arnaud Giuliani
 */
@Composable
inline fun <reified T> rememberKoinInject(
    qualifier: Qualifier? = null,
    scope: Scope = LocalKoinScope.current,
    noinline parameters: ParametersDefinition? = null,
): T = remember(qualifier, scope, parameters) {
    scope.get(qualifier, parameters)
}
Slack Conversation