Kotlin Compose 重组

重组,指的是任何Composable函数在任何时候都可以被重新调用,如果您有一个庞大的Composable层级结构,当您的层级中的某一部分发生改变时,您不会希望重新计算整个层级结构,所以Composable函数时可重新启动的(restartbale)的

您可以利用这一特性来实现一些强大的功能。

举个例子

这里有一个Bind函数 里面是一些Android开发的常见代码

fun bind(liveMsgs: LiveData<MessageData>){
      liveMsgs.observe(this) { nsgs->
            updateBody(msgs)

        }


}

我们有一个LiveData,并且希望视图可以订阅它,为此,我们调用observe方法并传入一个LifecycleOwner,并在接下来传入lambda。lambda会在每次LiveData更新被调用,并且发生这种情况时,我们会想要更新视图

使用Compose

@Composable
fun bind(liveMsgs: LiveData<MessageData>){

val msgs by liveMsgs.observeAsState()

for (msg in msgs){

Message(msg)
}
   


}

Compose 提供了一种现代方法来定义您的ui

。。现代有点像flutter swiftUi

这是您可以有效的关注点分离。

由于Composable函数与普通Kotlin函数很相似。因此您使用Compose编写和重构UI所使用的工具

与您进行Android开发的知识储备将会无缝衔接。

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/125345695