我希望变量listOfPoints
在每次workout.points
更改时或每“x”秒更改一次。
var listOfPoints = emptyList<LatLng>()
var workoutId = viewModel.getAllWorkouts().collectAsState(null).value?.size
if(workoutId != null) {
var workout = viewModel.getSpecifWorkout(workoutId).collectAsState(null).value
if (workout != null) {
listOfPoints = viewModel.convertStringToListOfLatLng(workout.points)
}
}
1条答案
按热度按时间mcvgt66p1#
我假设上面的代码是可组合函数的一部分,如果是这样,你可以将
if
块 Package 在LaunchedEffect
中,键为workout
,如下所示:字符串
这样,传递给
LaunchedEffect
的块将在每次workout
更改时被调用,但不会在每次重组时被不必要地调用。https://developer.android.com/jetpack/compose/side-effects#launchedeffect