brandonmcansh
07/28/2020, 2:42 PMZach Klippenstein (he/him) [MOD]
07/28/2020, 2:44 PMList
or MutableList
?brandonmcansh
07/28/2020, 2:45 PMZach Klippenstein (he/him) [MOD]
07/28/2020, 2:47 PMFlow<List<T>>
and you want to do something like val currentList = listFlow.collectAsState(null)
?brandonmcansh
07/28/2020, 2:47 PMJohn O'Reilly
07/28/2020, 2:50 PMFlow<T>.collectAsState()
extension function (wasn't sure if maybe that's what was being referred to by collectAsState
reference above?)Zach Klippenstein (he/him) [MOD]
07/28/2020, 2:50 PMval listFlow: Flow<List<T>> = …
val currentList: List<T>? = listFlow.collectAsState(null)
if (currentList == null) {
LoadingUI()
} else {
LazyColumnItems(currentList)
}
brandonmcansh
07/28/2020, 2:51 PMZach Klippenstein (he/him) [MOD]
07/28/2020, 2:51 PMStateFlow
, you don’t need to provide the initial value yourselfbrandonmcansh
07/28/2020, 2:53 PM@Composable
internal fun BookmarkList(
padding: Modifier,
loadBookmarks: State<List<Bookmark>>
) {
with(loadBookmarks) {
ScrollableColumn(modifier = padding) {
LazyColumnItems(value) { bookmark ->
BookmarkCard(bookmark = bookmark) { editRequest ->
}
}
}
}
}
@Composable
private fun AppContent(
navigationViewModel: NavigationViewModel,
bookmarkViewModel: BookmarkViewModel
) {
Surface(color = MaterialTheme.colors.background) {
when (val screen = navigationViewModel.currentScreen) {
Screen.Home -> {
Crossfade(screen) {
HomeScreen(
navigateTo = navigationViewModel::navigateTo,
loadBookmarks = bookmarkViewModel.loadAll()
)
}
}
}
}
}
Zach Klippenstein (he/him) [MOD]
07/28/2020, 3:07 PMbrandonmcansh
07/28/2020, 3:08 PMZach Klippenstein (he/him) [MOD]
07/28/2020, 3:09 PMthis
a State
i think makes this code harder to read. I’ve never seen any compose code do this, and i don’t see any this
references in that snippet so are you even using it?brandonmcansh
07/28/2020, 3:10 PMvalue
passed to LazyColumnItemsZach Klippenstein (he/him) [MOD]
07/28/2020, 3:11 PMbrandonmcansh
07/28/2020, 3:11 PMZach Klippenstein (he/him) [MOD]
07/28/2020, 3:12 PMState
val loadAnything
is confusing to me. The name “load*” reads like a verb, like it’s a function that performs a “load” action, but a state is more of a noun.brandonmcansh
07/28/2020, 3:12 PMZach Klippenstein (he/him) [MOD]
07/28/2020, 3:13 PM