跳到主要内容
版本:4.x

worklet

worklet 对象,可以通过 wx.worklet 获取

支持情况:

参考文档

类型

worklet

方法

参数类型说明
scrollViewContext{ scrollTo(NodesRef: TaroGeneral.IAnyObject, object: Option): void; }ScrollView 实例,可在 worklet 函数内操作 scroll-view 组件。
参考地址
EasingEasing

cancelAnimation

取消由 SharedValue 驱动的动画

参考文档

(SharedValue: TaroGeneral.IAnyObject) => void
参数类型
SharedValueTaroGeneral.IAnyObject

derived

衍生值 DerivedValue,可基于已有的 SharedValue 生成其它共享变量。

参考文档

(updaterWorklet: TaroGeneral.TFunc) => TaroGeneral.IAnyObject
参数类型
updaterWorkletTaroGeneral.TFunc

shared

创建共享变量 SharedValue,用于跨线程共享数据和驱动动画。

参考文档

(initialValue: any) => TaroGeneral.IAnyObject

decay

基于滚动衰减的动画。

参考文档

(options?: Option, callback?: (flag: boolean) => void) => TaroGeneral.IAnyObject
参数类型说明
optionsOption动画配置
param: options 动画配置
callback(flag: boolean) => void动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。
param: callback 动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。

spring

基于物理的动画。

参考文档

(toValue: string | number, options?: Option, callback?: (flag: boolean) => void) => TaroGeneral.IAnyObject
参数类型说明
toValuestring or number目标值
param: toValue 目标值
optionsOption动画配置
param: options 动画配置
callback(flag: boolean) => void动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。
param: callback 动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。

timing

基于时间的动画。

参考文档

(toValue: string | number, options?: Option, callback?: (flag: boolean) => void) => TaroGeneral.IAnyObject
参数类型说明
toValuestring or number目标值
param: toValue 目标值
optionsOption动画配置
param: options 动画配置
callback(flag: boolean) => void动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。
param: callback 动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。

delay

延迟执行动画。

参考文档

(delayMS: number, delayedAnimation: TaroGeneral.IAnyObject) => TaroGeneral.IAnyObject
参数类型说明
delayMSnumber动画开始前等待的时间,单位:毫秒
param: delayMS 动画开始前等待的时间,单位:毫秒
delayedAnimationTaroGeneral.IAnyObject动画对象
param: delayedAnimation 动画对象

repeat

重复执行动画。

参考文档

(delayedAnimation: TaroGeneral.IAnyObject, numberOfReps: number, reverse?: boolean, callback?: (flag: boolean) => void) => TaroGeneral.IAnyObject
参数类型说明
delayedAnimationTaroGeneral.IAnyObject
numberOfRepsnumber重复次数。为负值时一直循环,直到被取消动画。
param: numberOfReps 重复次数。为负值时一直循环,直到被取消动画。
reverseboolean反向运行动画,每周期结束动画由尾到头运行。该字段仅对 timing 和 spring 返回的动画对象生效。
param: reverse 反向运行动画,每周期结束动画由尾到头运行。该字段仅对 timing 和 spring 返回的动画对象生效。
callback(flag: boolean) => void动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。
param: callback 动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。

sequence

组合动画序列,依次执行传入的动画。

参考文档

(...delayedAnimation: TaroGeneral.IAnyObject) => TaroGeneral.IAnyObject
参数类型
delayedAnimationTaroGeneral.IAnyObject

runOnJS

worklet 函数运行在 UI 线程时,捕获的外部函数可能为 worklet 类型或普通函数,为了更明显的对其区分,要求必须使用 runOnJS 调回 JS 线程的普通函数。 有这样的要求是因为,调用其它 worklet 函数时是同步调用,但在 UI 线程执行 JS 线程的函数只能是异步,开发者容易混淆,试图同步获取 JS 线程的返回值。

参考文档

(fn: TaroGeneral.TFunc) => TaroGeneral.TFunc
参数类型说明
fnTaroGeneral.TFuncworklet 类型函数
param: fn worklet 类型函数

runOnUI

在 UI 线程执行 worklet 函数

参考文档

(fn: TaroGeneral.TFunc) => TaroGeneral.TFunc
参数类型说明
fnTaroGeneral.TFuncworklet 类型函数
param: fn worklet 类型函数

参数

SharedValue

DerivedValue

AnimationObject

WorkletFunction

scrollViewContext

Option

参数类型必填说明
topnumber顶部距离
leftnumber左边界距离
durationnumber滚动动画时长
animatedboolean是否启用滚动动画
easingFunctionstring动画曲线

decay

Option

参数类型必填说明
velocitynumber初速度
decelerationnumber衰减速率
clampnumber[]边界值,长度为 2 的数组

Easing

bounce

简单的反弹效果

参考文档

(t: number) => any
参数类型
tnumber

ease

简单的惯性动画

参考文档

(t: number) => any
参数类型
tnumber

elastic

简单的弹性动画,类似弹簧来回摆动,高阶函数。默认弹性为 1,会稍微超出一次。弹性为 0 时 不会过冲

参考文档

(bounciness?: number) => any
参数类型
bouncinessnumber

linear

线性函数

参考文档

(t: number) => any
参数类型
tnumber

quad

二次方函数

参考文档

(t: number) => any
参数类型
tnumber

cubic

立方函数

参考文档

(t: number) => any
参数类型
tnumber

poly

高阶函数,返回幂函数

参考文档

(n: number) => any
参数类型
nnumber

bezier

三次贝塞尔曲线,效果同 css transition-timing-function

参考文档

(x1: number, y1: number, x2: number, y2: number) => any
参数类型
x1number
y1number
x2number
y2number

circle

圆形曲线

参考文档

(t: number) => any
参数类型
tnumber

sin

正弦函数

参考文档

(t: number) => any
参数类型
tnumber

exp

指数函数

参考文档

(t: number) => any
参数类型
tnumber

in

正向运行 easing function,高阶函数。

参考文档

(easing: (t: number) => any) => any
参数类型
easing(t: number) => any

out

反向运行 easing function,高阶函数。

参考文档

(easing: (t: number) => any) => any
参数类型
easing(t: number) => any

inOut

前半程正向,后半程反向,高阶函数。

参考文档

(easing: (t: number) => any) => any
参数类型
easing(t: number) => any

spring

Option

参数类型必填说明
dampingnumber阻尼系数
massnumber重量系数,值越大移动越慢
stiffnessnumber弹性系数
overshootClampingboolean动画是否可以在指定值上反弹
restDisplacementThresholdnumber弹簧静止时的位移
restSpeedThresholdnumber弹簧静止的速度
velocitynumber速度

timing

Option

参数类型必填说明
durationnumber动画时长
easing(t: number) => number动画曲线

API 支持度

API微信小程序H5React NativeHarmony
worklet✔️