Home > @unseenco/backstage-core > onChange
onChange() function
Calls callback every time the pointed value of pointer changes.
Signature:
typescript
export declare function onChange<P extends PointerType<$IntentionalAny> | Prism<$IntentionalAny>>(pointer: P, callback: (value: P extends PointerType<infer T> ? T : P extends Prism<infer T> ? T : unknown) => void, rafDriver?: IRafDriver): VoidFn;Parameters
| Parameter | Type | Description |
|---|---|---|
| pointer | P | A Pointer (like object.props.x) |
| callback | (value: P extends PointerType<infer T> ? T : P extends Prism<infer T> ? T : unknown) => void | The callback is called every time the value of pointer changes |
| rafDriver | IRafDriver | (optional) The rafDriver to use. Learn how to use rafDrivers [from the docs](https://www.backstagejs.com/docs/latest/manual/advanced\#rafdrivers). |
Returns:
VoidFn
An unsubscribe function
Example
Usage:
ts
import {getProject, onChange} from '@unseenco/backstage'
const obj = getProject("A project").sheet("Scene").object("Box", {position: {x: 0}})
const usubscribe = onChange(obj.props.position.x, (x) => {
console.log('position.x changed to:', x)
})
setTimeout(usubscribe, 10000) // stop listening to changes after 10 seconds