Skip to content

Commit 029b6e6

Browse files
committed
Use rememberUpdatedState to reference a value in the effect that should not be restarted if the value changes.
1 parent cd0feab commit 029b6e6

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

slider/src/main/java/com/smarttoolfactory/slider/ColorfulSlider.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ fun ColorfulSlider(
163163

164164
require(steps >= 0) { "steps should be >= 0" }
165165
val onValueChangeState = rememberUpdatedState(onValueChange)
166+
val onValueChangeFinishedState by rememberUpdatedState(onValueChangeFinished)
166167
val tickFractions = remember(steps) {
167168
stepsToTickFractions(steps)
168169
}
@@ -241,7 +242,7 @@ fun ColorfulSlider(
241242
},
242243
onDragEnd = {
243244
if (enabled) {
244-
onValueChangeFinished?.invoke()
245+
onValueChangeFinishedState?.invoke()
245246
}
246247
}
247248
)
@@ -256,7 +257,7 @@ fun ColorfulSlider(
256257
scaleToUserValue(offsetInTrack),
257258
Offset(rawOffset.value.coerceIn(trackStart, trackEnd), strokeRadius)
258259
)
259-
onValueChangeFinished?.invoke()
260+
onValueChangeFinishedState?.invoke()
260261
}
261262
}
262263
}

0 commit comments

Comments
 (0)