MutableState、remember、rememberSaveableを解説!
MutableState<T>とは
MutableSate<T>は1つの値を保持するクラスであり、Composeによって監視されます。
この型を付与された変数に読み書きが行われると、Composeがコンポーザブルに対して再描画を命令します。
このようにComposeが監視できる型のことをオブザーバブルな型(Observable types)と言います。
rememberとは
rememberを使うことでオブジェクトをメモリに格納できます。
これによりコンポーザブルが再コンポーズされる際に、値が保存されリセットされません。
しかし設定の変更(例: 画面の縦向きから横向きへの変更)の際には値がリセットされます。
rememberSaveableとは
rememberSaveableはrememberと同様に、コンポーザブルの再コンポーズ時に値を保存するために使用します。
rememberと違い、設定の変更が起きても値がリセットされません。
コード例
// 宣言方法は3通り(シュガーシンタックス)
val prop01 = remember { mutableStateOf("初期化時の値") }
var prop01 by remember { mutableStateOf("初期化時の値") }
val (value, setValue) = remember { mutableStateOf("初期化時の値") }
宣言方法は3通りあり、どれを使用しても問題ありません。詳しくはこちら。