簡體   English   中英

State 不更新

[英]State don't update

如果我調用 function,我的 state 不會更新:flipButtonClicked() 有人知道為什么嗎?

class FlipCardViewModel(cardState: CardState): ViewModel() {
private var _state by mutableStateOf(
    cardState
)

val state: CardState
    get() = _state

fun flipButtonClicked(){
    _state.isFlipped = !_state.isFlipped
}}

您需要將新實例分配給_state ,更改 Object 的屬性默認情況下不會觸發重組。

如果您的CardState是數據 class 您可以這樣做

fun flipButtonClicked(){
    _state = _state.copy(!_state.isFlipped)
}}

伙計,您的 state 不要更新因為您沒有閱讀文檔。

只需初始化 state 變量,如

var state by mutableStateOf(cardState)

並像這樣更新它

state = state.copy(.state.isFlipped)

為什么要添加不必要的復雜第三方調用?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM