useRafFn
Call function on every requestAnimationFrame
. With controls of pausing and resuming.
Demo
Count: 0
Usage
js
import { ref } from 'vue'
import { useRafFn } from '@vueuse/core'
const count = ref(0)
const { pause, resume } = useRafFn(() => {
count.value++
console.log(count.value)
})
import { ref } from 'vue'
import { useRafFn } from '@vueuse/core'
const count = ref(0)
const { pause, resume } = useRafFn(() => {
count.value++
console.log(count.value)
})
Type Declarations
typescript
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
}
/**
* 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
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
}
/**
* 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
Contributors
Anthony Fu
Enzo Innocenzi
Jelf
he yifan
Alex Kozack
Jacob Clevenger
Scott Bedard
Antério Vieira