总的来说,Jetpack Compose进行声明式UI开发时:
-
每个UI绘制会一个“纯函数”的方式运行;
-
当 状态State 变化时函数重新执行刷新UI。
=======================================================================
Jetpack Compose刷新UI的方式叫重组,即使用新数据再次调用UI绘制的函数。
@Composable
fun ClickCounter(clicks: Int, onClick: () -> Unit) {
Button(onClick = onClick) {
Text(“I’ve been clicked $clicks times”)
}
}
如上述按钮设置:每次点击该按钮时,调用方都会更新 clicks 的值。Compose 会再次调用 lambda 与 Text 函数以显示新值。
当数据变化时就会触发重组,如果每次都全量重组则会带来很多性能损耗。「类似React那种声明式U