I know remember can reduce recomposition in @Composable function, but sometimes I forget to add remember for simple variables.
Should I to wrap variables with remember as much as possible for @Composable function when I use Jetpack Compose ? Just Like Code A should be Code B?
Code A
@Composable
fun DialogForDBWarningValue(
preferenceState:PreferenceState
) {
val context = LocalContext.current
val itemName = stringArrayResource(R.array.dBWarning_Name)
val itemValue = stringArrayResource(R.array.dBWarning_Values)
val temp = loadDBWarningValueWithPreference(context)
preferenceState.iniSelectedItemValue = temp
val iniSelectedItemName = itemName[itemValue.indexOf(preferenceState.iniSelectedItemValue)]
}
Code B
@Composable
fun DialogForDBWarningValue(
preferenceState:PreferenceState
) {
val context = LocalContext.current //It can't be wrapped with remember
val itemName = stringArrayResource(R.array.dBWarning_Name) //It can't be wrapped with remember
val itemValue = stringArrayResource(R.array.dBWarning_Values) //It can't be wrapped with remember
val temp = remember {
loadDBWarningValueWithPreference(context)
}
preferenceState.iniSelectedItemValue = temp
val iniSelectedItemName = remember {
itemName[itemValue.indexOf(preferenceState.iniSelectedItemValue)]
}
}