Categories: React Native 教程

React Native:交互管理器

交互管理器在任意交互/动画完成之后,允许安排长期的运行工作。特别是,这允许 JavaScript 动画可以顺利的运行。

应用程序可以在交互完成之后根据以下代码来安排运行任务:

    InteractionManager.runAfterInteractions(() => {      // ...long-running synchronous task...
    });

与其他调度方案进行比较:

  • requestAnimationFrame():代码是动画在时间上的一个视图

  • setImmediate/setTimeout():运行代码后,请注意这有可能会延迟动画

  • runAfterInteractions(): 运行代码后,没有延迟的动态动画

触发处理系统将一个或者多个动态触发看成是一个“交互”,并且将推迟 runAfterInteractions() 回调直到所有的触发都已经结束或者被取消了。

交互管理器还允许应用程序通过创建一个“处理”动画的开端来注册动画,结束之后进行清除:

    var handle = InteractionManager.createInteractionHandle();    // run animation... (`runAfterInteractions` tasks are queued)
    // later, on animation completion:
    InteractionManager.clearInteractionHandle(handle);    // queued tasks run if all handles were cleared

方法

static runAfterInteractions(callback: Function)

在所有交互都完成之后安排一个函数来运行。

static createInteractionHandle()

通知管理器已经启动了一个交互。

static clearInteractionHandle(handle: number)

通知管理器一个交互动作已经完成了。

andy

前端小白,在Web176教程网这个平台跟大家一起学习,加油!

Share
Published by
andy

Recent Posts

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

21 小时 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

1 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

2 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

3 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

3 周 ago

聊聊React和Vue组件更新的实现及区别

React 和 Vue 都是当…

4 周 ago