LoadableComponent

fun <T> LoadableComponent(    preload: Optional<T>,     loader: suspend LoadableComponentContext<T>.() -> T,     block: @Composable LoadableComponentContext<T>.(T) -> Unit)(source)
fun <T> LoadableComponent(    preload: T,     loader: suspend LoadableComponentContext<T>.() -> T,     block: @Composable LoadableComponentContext<T>.(T) -> Unit)(source)
fun <T> LoadableComponent(    loader: suspend LoadableComponentContext<T>.() -> T,     block: @Composable LoadableComponentContext<T>.(T) -> Unit)(source)

Showing data with ability to reload data

block will be shown when loader will complete loading. If you want to reload data, just call LoadableComponentContext.reload