Skip to content

API Reference / @gtkx/animated / useSpring

Function: useSpring() ​

Call Signature ​

useSpring<Props>(props, deps?): [Props] extends [Any] ? Lookup<any> : [object] extends [Props] ? Lookup<any> : { [P in string | number | symbol]: { [P in string | number | symbol]: (Props extends { from: From } ? (From extends () => ... ? ReturnType<(...)> : ObjectType<(...)>) | (((...) & (...)) extends never ? ToValues<(...), (...)> : RawValues<(...)>) : (TransitionKey & keyof (...)) extends never ? ToValues<Props, true> : RawValues<Omit<(...), (...)>>) extends U ? P extends keyof U ? U[P] : never : never }[P] } extends State ? State extends Lookup<any> ? [SpringValues<State>, SpringRef<State>] : never : never

The props function is only called on the first render, unless deps change (when defined). State is inferred from forward props.

Type Parameters ​

Props ​

Props extends object

Parameters ​

props ​

Function | (() => Remap<ControllerUpdate<Lookup<any>, undefined> & { ref?: SpringRef<Lookup<any>>; }> | Props & { [P in string | number | symbol]: (Pick<Props, Exclude<keyof Props, InvalidKeys<Props, UseSpringProps<(...)>>>> & { [K in string | number | symbol]: never })[P] })

deps? ​

readonly any[]

Returns ​

[Props] extends [Any] ? Lookup<any> : [object] extends [Props] ? Lookup<any> : { [P in string | number | symbol]: { [P in string | number | symbol]: (Props extends { from: From } ? (From extends () => ... ? ReturnType<(...)> : ObjectType<(...)>) | (((...) & (...)) extends never ? ToValues<(...), (...)> : RawValues<(...)>) : (TransitionKey & keyof (...)) extends never ? ToValues<Props, true> : RawValues<Omit<(...), (...)>>) extends U ? P extends keyof U ? U[P] : never : never }[P] } extends State ? State extends Lookup<any> ? [SpringValues<State>, SpringRef<State>] : never : never

Call Signature ​

useSpring<Props>(props): SpringValues<[Props] extends [Any] ? Lookup<any> : [object] extends [Props] ? Lookup<any> : { [P in string | number | symbol]: { [P in string | number | symbol]: (Props extends { from: From } ? (From extends () => ... ? ReturnType<(...)> : ObjectType<(...)>) | (((...) & (...)) extends never ? ToValues<(...), (...)> : RawValues<(...)>) : (TransitionKey & keyof (...)) extends never ? ToValues<Props, true> : RawValues<Omit<(...), (...)>>) extends U ? P extends keyof U ? U[P] : never : never }[P] }>

Updated on every render, with state inferred from forward props.

Type Parameters ​

Props ​

Props extends object

Parameters ​

props ​

Remap<ControllerUpdate<Lookup<any>, undefined> & { ref?: SpringRef<Lookup<any>>; }> | Props & { [P in string | number | symbol]: (Pick<Props, Exclude<keyof Props, InvalidKeys<Props, UseSpringProps<Props>>>> & { [K in string | number | symbol]: never })[P] }

Returns ​

SpringValues<[Props] extends [Any] ? Lookup<any> : [object] extends [Props] ? Lookup<any> : { [P in string | number | symbol]: { [P in string | number | symbol]: (Props extends { from: From } ? (From extends () => ... ? ReturnType<(...)> : ObjectType<(...)>) | (((...) & (...)) extends never ? ToValues<(...), (...)> : RawValues<(...)>) : (TransitionKey & keyof (...)) extends never ? ToValues<Props, true> : RawValues<Omit<(...), (...)>>) extends U ? P extends keyof U ? U[P] : never : never }[P] }>

Call Signature ​

useSpring<Props>(props, deps): [Props] extends [Any] ? Lookup<any> : [object] extends [Props] ? Lookup<any> : { [P in string | number | symbol]: { [P in string | number | symbol]: (Props extends { from: From } ? (From extends () => ... ? ReturnType<(...)> : ObjectType<(...)>) | (((...) & (...)) extends never ? ToValues<(...), (...)> : RawValues<(...)>) : (TransitionKey & keyof (...)) extends never ? ToValues<Props, true> : RawValues<Omit<(...), (...)>>) extends U ? P extends keyof U ? U[P] : never : never }[P] } extends State ? State extends Lookup<any> ? [SpringValues<State>, SpringRef<State>] : never : never

Updated only when deps change, with state inferred from forward props.

Type Parameters ​

Props ​

Props extends object

Parameters ​

props ​

Remap<ControllerUpdate<Lookup<any>, undefined> & { ref?: SpringRef<Lookup<any>>; }> | Props & { [P in string | number | symbol]: (Pick<Props, Exclude<keyof Props, InvalidKeys<Props, UseSpringProps<Props>>>> & { [K in string | number | symbol]: never })[P] }

deps ​

readonly any[] | undefined

Returns ​

[Props] extends [Any] ? Lookup<any> : [object] extends [Props] ? Lookup<any> : { [P in string | number | symbol]: { [P in string | number | symbol]: (Props extends { from: From } ? (From extends () => ... ? ReturnType<(...)> : ObjectType<(...)>) | (((...) & (...)) extends never ? ToValues<(...), (...)> : RawValues<(...)>) : (TransitionKey & keyof (...)) extends never ? ToValues<Props, true> : RawValues<Omit<(...), (...)>>) extends U ? P extends keyof U ? U[P] : never : never }[P] } extends State ? State extends Lookup<any> ? [SpringValues<State>, SpringRef<State>] : never : never