如何在 Jetpack Compose 中记忆 lambda 函数,如 useCallback
How to memoize a lambda function in Jetpack Compose like useCallback
我正在尝试在 Jetpack Compose 中实现一个记忆回调函数,类似于 React 的 useCallback
。
例如,我想用它来创建一个 submit
lambda 函数,其中包含提交表单的逻辑,但我不希望在每次重组时重新创建此 lambda。这应该仅在其依赖项更改时重新创建。
有这样的东西吗?
正常的remember
/rememberSaveable
函数可以用于此。这只会在给定的依赖项更改时重新创建 lambda 函数。
val submit = rememberSaveable(dependency1, dependency2) {
{
// Logic here
}
}
submit()
Lambda 记忆化由编译器自动完成,方法是根据 lambda 捕获的稳定值隐式生成 remember
调用。如果编译器认为捕获的一个或多个值不稳定,则只需要显式 remember
。
我正在尝试在 Jetpack Compose 中实现一个记忆回调函数,类似于 React 的 useCallback
。
例如,我想用它来创建一个 submit
lambda 函数,其中包含提交表单的逻辑,但我不希望在每次重组时重新创建此 lambda。这应该仅在其依赖项更改时重新创建。
有这样的东西吗?
正常的remember
/rememberSaveable
函数可以用于此。这只会在给定的依赖项更改时重新创建 lambda 函数。
val submit = rememberSaveable(dependency1, dependency2) {
{
// Logic here
}
}
submit()
Lambda 记忆化由编译器自动完成,方法是根据 lambda 捕获的稳定值隐式生成 remember
调用。如果编译器认为捕获的一个或多个值不稳定,则只需要显式 remember
。