Skip to content

useRafFn

Category
Export Size
443 B
Last Changed
4 days ago

Call function on every requestAnimationFrame. With controls of pausing and resuming.

Demo

Frames: 0
Delta: 0ms
FPS Limit: 60

Usage

ts
import { 
useRafFn
} from '@vueuse/core'
import {
shallowRef
} from 'vue'
const
count
=
shallowRef
(0)
const {
pause
,
resume
} =
useRafFn
(() => {
count
.
value
++
console
.
log
(
count
.
value
)
})

Type Declarations

Show Type Declarations
ts
export interface UseRafFnCallbackArguments {
  /**
   * Time elapsed between this and the last frame.
   */
  
delta
: number
/** * Time elapsed since the creation of the web page. See {@link https://developer.mozilla.org/en-US/docs/Web/API/DOMHighResTimeStamp#the_time_origin Time origin}. */
timestamp
:
DOMHighResTimeStamp
} export interface UseRafFnOptions extends ConfigurableWindow { /** * Start the requestAnimationFrame loop immediately on creation * * @default true */
immediate
?: boolean
/** * The maximum frame per second to execute the function. * Set to `undefined` to disable the limit. * * @default undefined */
fpsLimit
?:
MaybeRefOrGetter
<number>
/** * After the requestAnimationFrame loop executed once, it will be automatically stopped. * * @default false */
once
?: boolean
} /** * Call function on every `requestAnimationFrame`. With controls of pausing and resuming. * * @see https://vueuse.org/useRafFn * @param fn * @param options */ export declare function
useRafFn
(
fn
: (
args
: UseRafFnCallbackArguments) => void,
options
?: UseRafFnOptions,
):
Pausable

Source

SourceDemoDocs

Contributors

NoiseFan

Changelog

No recent changes

Released under the MIT License.