Y&S SoftWareのホームページ
使いかってのいいソフトウェアを開発します

collectAsState() は LazyColumn の中では呼ぶ事が出来ない

LazyColumn の DSLスコープ(ラムダの中身) は Composable 関数ではないため、
@Composable な collectAsState() を呼ぶとエラーになります。

エラーメッセージ例
@Composable invocations can only happen from the context of a @Composable function

下記のようにはできないので注意
LazyColumn(modifier = Modifier.fillMaxSize()) {
val memoListSortType by settingsViewModel.memoListSortType.collectAsState()
...
}


collectAsState() は Composable 関数直下(UIツリーを組み立てる位置)で呼び出して、
LazyColumn の中では すでに State に変換された値を使うようにします。

ようするに
collectAsState() は 必ず Composable のスコープ直下で呼ぶ。
LazyColumn の中で呼ぶのは NG という事です。