Effects
CircuitX provides some effects for use with logging/analytics. These effects are typically used in
Circuit presenters for tracking impressions and will run only once until forgotten based on the
current circuit-retained strategy.
dependencies {
implementation("com.slack.circuit:circuitx-effects:<version>")
}
ImpressionEffect¶
ImpressionEffect is a simple single fire side effect useful for logging or analytics.
This impression will run only once until it is forgotten based on the current RetainedStateRegistry.
ImpressionEffect {
// Impression
}
LaunchedImpressionEffect¶
This is useful for async single fire side effects like logging or analytics. This effect will run a
suspendable impression once until it is forgotten based on the RetainedStateRegistry.
LaunchedImpressionEffect {
// Impression
}
RememberImpressionNavigator¶
A LaunchedImpressionEffect that is useful for async single fire side effects like logging or
analytics that need to be navigation aware. This will run the impression again if it re-enters
the composition after a navigation event.
val navigator = rememberImpressionNavigator(
navigator = Navigator()
) {
// Impression
}