在 Compose 應用程式中使用孤立上下文
對於 Compose 應用程式,您可以以相同的方式使用孤立上下文,以處理 SDK 或白標應用程式,從而避免將您的 Koin 定義與終端使用者的定義混淆。
定義孤立上下文
首先,讓我們宣告我們的孤立上下文持有者,以便將我們的孤立 Koin 實例儲存在記憶體中。這可以透過一個簡單的 Object 類別來完成,如下所示。MyIsolatedKoinContext
類別持有我們的 Koin 實例:
kotlin
object MyIsolatedKoinContext {
val koinApp = koinApplication {
// declare used modules
modules(sdkAppModule)
}
}
NOTE
請根據您的初始化需求調整 MyIsolatedKoinContext
類別。
使用 Compose 設定孤立上下文
現在您已經定義了一個孤立的 Koin 上下文,我們可以將其設定到 Compose 中,以便使用它並覆寫所有 API。只需在根 Compose 函數中使用 KoinIsolatedContext
。這會將您的 Koin 上下文傳播到所有子 composables 中。
kotlin
@Composable
fun App() {
// Set current Koin instance to Compose context
KoinIsolatedContext(context = MyIsolatedKoinContext.koinApp) {
MyScreen()
}
}
INFO
所有 Koin Compose API 在使用 KoinIsolatedContext
後,將會使用您的 Koin 孤立上下文。