Skip to content

迁移到hooks2 的说明

Junerver Hou edited this page Sep 18, 2024 · 8 revisions

从 hooks 迁移到 kmp 版本的 hooks2 有以下注意事项:

1. optionsOf 废弃

如果你在需要使用配置的hooks中直接使用使用了optionsOf,并且没有使用命名参数 :

val (resume, pause, isActive) = useInterval(
    optionsOf {
        initialDelay = 2.seconds
        period = 1.seconds
    }
) 

需要修改为:

val (resume, pause, isActive) = useInterval(
    optionsOf = {
        initialDelay = 2.seconds
        period = 1.seconds
    }
)

RequestOptions的参数 debounceOptionsthrottleOptions,需要替换为各自的 optionOf 函数:

  • DebounceOptions.optionOf { }
  • ThrottleOptions.optionOf { }

替换:

第一步替换 debounceOptionsthrottleOptions

  • debounceOptions = optionsOf { 替换为 debounceOptions = DebounceOptions.optionOf {
  • throttleOptions = optionsOf { 替换为 throttleOptions = ThrottleOptions.optionOf {

第二步:全局替换 options = optionsOf {optionsOf = {

第三步:替换 optionsOf {optionsOf = {

2. defaultOptionOptions.default()移除

这个函数几乎不应该在用户侧调用,因为所有需要默认参数的函数都已经赋值,如果你现在确实需要一个默认的选项对象

使用Options.optionOf{}

3. 纯 Android 项目

纯Android项目请使用如下依赖:

implementation("xyz.junerver.compose:hooks2-android:<latest_release>")

Clone this wiki locally