Compose rememberUpdatedState 的用法和本质
rememberUpdatedState 本质上是为了让长生命周期的 effect / listener 闭包引用到最新的变量值,而不是重启 effect 或重新设置 listener。 原因是长生命周期的闭包捕获的是初始值 来看一个容易误解的例子 @Composable fun Demo(name: String) { LaunchedEffect(Unit) { delay(3000); println(name) } } 假设初始传入的是 name = "A",1 秒后外部重组,name 变成了 "B"。很多人会直觉以为 3 秒后打印的是 "B",但实际上,大概率打印的是 "A"。 ...