相关疑难解决方法(0)

何时更喜欢传递 State<T> 而不是 T 本身

是否存在某种情况下人们应该选择其中一种而不是另一种?

@Composable
fun <T> Foo(data: State<T>) { ... }
Run Code Online (Sandbox Code Playgroud)

相比

@Composable
fun <T> Foo(data: T) { ... }
Run Code Online (Sandbox Code Playgroud)

或者对于可变状态,

@Composable
fun <T> Foo(data: MutableState<T>) { ... }
Run Code Online (Sandbox Code Playgroud)

相比

@Composable
fun <T> Foo(data: T, setData: (T) -> Unit) { ... }
Run Code Online (Sandbox Code Playgroud)

显然,使用 setData lambda 的一个优点是您可以拦截 set 操作,但从 Compose 的角度来看,我更感兴趣。对组合编译器有什么影响或者重组如何工作?

android-jetpack-compose

5
推荐指数
1
解决办法
398
查看次数

标签 统计

android-jetpack-compose ×1