修改错误,增加一个用例
This commit is contained in:
+23
-3
@@ -79,7 +79,7 @@ val myCard = @Composable { a: Int ->
|
||||
|
||||
```kotlin
|
||||
@Composable
|
||||
def Counter() {
|
||||
fun Counter() {
|
||||
// 每次重组时,randomId 不会被重新生成,始终保留第一次的值
|
||||
val randomId = remember { UUID.randomUUID().toString() }
|
||||
// 如果是可变变量,常使用委托,这里,它是一个枚举类
|
||||
@@ -87,7 +87,7 @@ def Counter() {
|
||||
}
|
||||
|
||||
@Composable
|
||||
def UserProfile(userId: String) {
|
||||
fun UserProfile(userId: String) {
|
||||
// 只有当 userId 发生变化时,remember 才会重新计算并更新 userCache
|
||||
val userCache = remember(userId) {
|
||||
fetchUserCacheFromDb(userId)
|
||||
@@ -127,7 +127,7 @@ fun CounterDisplay(
|
||||
|
||||
```kotlin
|
||||
@Composable
|
||||
def Counter() {
|
||||
fun Counter() {
|
||||
// 使用 remember + mutableStateOf 保持状态并在值变化时触发重组
|
||||
var count by remember { mutableStateOf(0) }
|
||||
|
||||
@@ -135,6 +135,26 @@ def Counter() {
|
||||
Text("点击次数: $count")
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun App() {
|
||||
var seedColor: Color
|
||||
|
||||
// 假设这里有什么东西会使 seedColor 发生变化
|
||||
|
||||
// seedColor 变化时,colorScheme 会被重新定义,
|
||||
// 因为 rememberDynamicColorScheme 是 Composable 函数
|
||||
val colorScheme = rememberDynamicColorScheme(
|
||||
seedColor = seedColor,
|
||||
isDark = isSystemInDarkTheme()
|
||||
)
|
||||
|
||||
// colorScheme 变化时,MaterialTheme 会重组,
|
||||
// 因为 MaterialTheme 是 Composable 函数
|
||||
MaterialTheme(
|
||||
colorScheme = colorScheme,
|
||||
) {}
|
||||
}
|
||||
```
|
||||
|
||||
## 接下来可以看
|
||||
|
||||
Reference in New Issue
Block a user