iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
自我挑戰組

一天學一篇 Google Codelabs系列 第 27

112/27 - 架構與狀態 - Compose 狀態思維

  • 分享至 

  • xImage
  •  

今天學什麼?

今天閱讀「適用於 Android 開發人員的 Jetpack Compose」第三章「架構與狀態」的「Compose 狀態思維

學習筆記

  1. Compose 要追蹤變數才能改變狀態,像這樣
    • Activity 重新建立不會保留
      val size = remember { mutableStateOf(1) }
      
    • Activity 重新建立會保留
      val size = rememberSaveable { mutableStateOf(1) }
      
  2. 只重新組合需要更改的可組合函數,而不是整個畫面
  3. 使用by就不用每次都要.value
  4. 狀態提升應該提升到需要存取的最低共同父項
  5. 只接受需要的參數
  6. UI element state
    • 介面元素狀態
    • 介面元素的提升狀態
    • ScaffoldState
  7. Screen、UI state
    • 螢幕或介面狀態
    • 需要在螢幕上顯示的內容,包含應用數據
  8. UI behavior logic
    • 介面行為邏輯
    • 在螢幕上顯示狀態變更相關,應該始終位於組合中
  9. Business logic
    • 業務邏輯
    • 處理狀態更改
  10. 如果用 Flow 的話,變數要加上collectAsState()
    val size by viewModel.size.collectAsState()
    

上一篇
112/26 - 架構與狀態 - 建構 Compose UI
下一篇
112/28 - 架構與狀態 - 提升狀態的位置、進階狀態和連帶效果
系列文
一天學一篇 Google Codelabs30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言