Leí algunos códigos de muestra del proyecto Kotlin, encuentro que a muchos autores les gusta el Código A.
Creo que el Código B es más simple.
1: ¿Es el código B una buena forma?
2: ¿Puedo usar siempre un conjunto privado en lugar de un valor privado en Android Studio?
Código A
private val _uiState = MutableStateFlow(InterestsUiState(loading = true)) val uiState: StateFlow<InterestsUiState> = _uiState.asStateFlow()Código B
var uiState = MutableStateFlow(InterestsUiState(loading = true)) private setA, B no son el mismo código.
En el código A, defina otra variable, ya que StateFlow impide cambiar el valor en StateFlow fuera de clase.
En el código B, puede actualizar el valor en StateFlow desde fuera de clase. Porque puede MutableStateFlow .
La variable de estado de mutación en sí y el estado de mutación en StateFlow son diferentes.
El observador que observa StateFlow recibe un evento cuando el valor en StateFlow cambia pero cambia StateFlow en sí mismo.
En otras palabras, debe usar el código A para evitar mutaciones inesperadas desde el exterior.