Skip to content

Commit

Permalink
refactor: LaunchedEffect 를 별도 Remember 함수로 분리합니다
Browse files Browse the repository at this point in the history
  • Loading branch information
sejun2 committed Mar 1, 2025
1 parent 9830988 commit 13e1b15
Showing 1 changed file with 27 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.key
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.runtime.snapshotFlow
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
Expand Down Expand Up @@ -78,13 +79,13 @@ fun FreeBoardScreen(
navController.currentBackStackEntry
?.savedStateHandle

LaunchedEffect(Unit) {
if (savedStateHandle?.contains("deletedPostId") == true) {
Timber.i("deletedPostId: ${savedStateHandle.get<String>("deletedPostId")}")
freeBoardListViewModel.removePostCache(savedStateHandle.get<String>("deletedPostId")!!)
RememberOnDeletePost(
postId = savedStateHandle?.get<String>("deletedPostId"),
block = {
freeBoardListViewModel.removePostCache(savedStateHandle?.get<String>("deletedPostId")!!)
savedStateHandle.remove<String>("deletedPostId")
}
}
},
)

Scaffold(
floatingActionButton = {
Expand Down Expand Up @@ -193,6 +194,26 @@ fun FreeBoardScreen(
}
}

/**
* 삭제된 게시글이 있을 경우 삭제된 게시글을 캐시에서 제거합니다.
*
* @param postId
* @param block
*/
@Composable
private fun RememberOnDeletePost(
postId: String? = null,
block: () -> Unit = {},
) {
val rememberBlock = rememberUpdatedState(block)

LaunchedEffect(Unit) {
if (postId != null) {
rememberBlock.value()
}
}
}

@OptIn(ExperimentalLayoutApi::class)
@Composable
fun FreeBoardCategorySection(
Expand Down

0 comments on commit 13e1b15

Please sign in to comment.