Method UseCallback
- Namespace
- Velvet
- Assembly
- Velvet.Docs.dll
UseCallback<T>(T)
Returns the latest callback every render without memoization. With no deps argument the callback behaves as identity — a fresh closure each render. Use this overload only when you intentionally want the unmemoized form (e.g. handler that already captures no render-scoped state). For memoized stable references prefer the UseCallback<T>(T, params object?[]?) overload with an explicit deps array.
public static T UseCallback<T>(T callback) where T : Delegate
Parameters
callbackT
Returns
- T
Type Parameters
T
Remarks
The single-argument overload exists so that omitting deps is unambiguous: the
params object?[]? deps overload would otherwise observe an empty array (not
null) and incorrectly freeze the callback to the first-render closure.
UseCallback<T>(T, params object?[]?)
Returns the same delegate reference as long as the dependency array is unchanged.
public static T UseCallback<T>(T callback, params object?[]? deps) where T : Delegate
Parameters
callbackTCallback to memoize. Captured on first render and on dependency changes.
depsobject[]Dependency values. When equal to the previous render (each dependency compared with
Object.is), the cached callback is reused. Null means no dependency array at all — the callback is not memoized, exactly as if the deps argument had been left off.
Returns
- T
The cached callback reference (stable across renders while
depsare equal).
Type Parameters
TDelegate type to memoize.
UseCallback(Action)
Unmemoized UseCallback<T>(T) for a callback of type Action.
public static Action UseCallback(Action callback)
Parameters
callbackActionThe callback returned as-is.
Returns
- Action
callback.
UseCallback(Action, params object?[]?)
Memoized UseCallback<T>(T, params object?[]?) for a callback of type Action.
public static Action UseCallback(Action callback, params object?[]? deps)
Parameters
callbackActionCallback to memoize.
depsobject[]Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.
Returns
- Action
The cached callback reference.
UseCallback<T1, T2>(Action<T1, T2>)
Unmemoized UseCallback<T>(T) for a callback of type Action<T1, T2>.
public static Action<T1, T2> UseCallback<T1, T2>(Action<T1, T2> callback)
Parameters
callbackAction<T1, T2>The callback returned as-is.
Returns
- Action<T1, T2>
callback.
Type Parameters
T1T2
UseCallback<T1, T2>(Action<T1, T2>, params object?[]?)
Memoized UseCallback<T>(T, params object?[]?) for a callback of type Action<T1, T2>.
public static Action<T1, T2> UseCallback<T1, T2>(Action<T1, T2> callback, params object?[]? deps)
Parameters
callbackAction<T1, T2>Callback to memoize.
depsobject[]Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.
Returns
- Action<T1, T2>
The cached callback reference.
Type Parameters
T1T2
UseCallback<T1, T2, T3>(Action<T1, T2, T3>)
Unmemoized UseCallback<T>(T) for a callback of type Action<T1, T2, T3>.
public static Action<T1, T2, T3> UseCallback<T1, T2, T3>(Action<T1, T2, T3> callback)
Parameters
callbackAction<T1, T2, T3>The callback returned as-is.
Returns
- Action<T1, T2, T3>
callback.
Type Parameters
T1T2T3
UseCallback<T1, T2, T3>(Action<T1, T2, T3>, params object?[]?)
Memoized UseCallback<T>(T, params object?[]?) for a callback of type Action<T1, T2, T3>.
public static Action<T1, T2, T3> UseCallback<T1, T2, T3>(Action<T1, T2, T3> callback, params object?[]? deps)
Parameters
callbackAction<T1, T2, T3>Callback to memoize.
depsobject[]Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.
Returns
- Action<T1, T2, T3>
The cached callback reference.
Type Parameters
T1T2T3
UseCallback<T1, TResult>(Func<T1, TResult>)
Unmemoized UseCallback<T>(T) for a callback of type Func<T1, TResult>.
public static Func<T1, TResult> UseCallback<T1, TResult>(Func<T1, TResult> callback)
Parameters
callbackFunc<T1, TResult>The callback returned as-is.
Returns
- Func<T1, TResult>
callback.
Type Parameters
T1TResult
UseCallback<T1, TResult>(Func<T1, TResult>, params object?[]?)
Memoized UseCallback<T>(T, params object?[]?) for a callback of type Func<T1, TResult>.
public static Func<T1, TResult> UseCallback<T1, TResult>(Func<T1, TResult> callback, params object?[]? deps)
Parameters
callbackFunc<T1, TResult>Callback to memoize.
depsobject[]Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.
Returns
- Func<T1, TResult>
The cached callback reference.
Type Parameters
T1TResult
UseCallback<T1, T2, TResult>(Func<T1, T2, TResult>)
Unmemoized UseCallback<T>(T) for a callback of type Func<T1, T2, TResult>.
public static Func<T1, T2, TResult> UseCallback<T1, T2, TResult>(Func<T1, T2, TResult> callback)
Parameters
callbackFunc<T1, T2, TResult>The callback returned as-is.
Returns
- Func<T1, T2, TResult>
callback.
Type Parameters
T1T2TResult
UseCallback<T1, T2, TResult>(Func<T1, T2, TResult>, params object?[]?)
Memoized UseCallback<T>(T, params object?[]?) for a callback of type Func<T1, T2, TResult>.
public static Func<T1, T2, TResult> UseCallback<T1, T2, TResult>(Func<T1, T2, TResult> callback, params object?[]? deps)
Parameters
callbackFunc<T1, T2, TResult>Callback to memoize.
depsobject[]Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.
Returns
- Func<T1, T2, TResult>
The cached callback reference.
Type Parameters
T1T2TResult
UseCallback<T1, T2, T3, TResult>(Func<T1, T2, T3, TResult>)
Unmemoized UseCallback<T>(T) for a callback of type Func<T1, T2, T3, TResult>.
public static Func<T1, T2, T3, TResult> UseCallback<T1, T2, T3, TResult>(Func<T1, T2, T3, TResult> callback)
Parameters
callbackFunc<T1, T2, T3, TResult>The callback returned as-is.
Returns
- Func<T1, T2, T3, TResult>
callback.
Type Parameters
T1T2T3TResult
UseCallback<T1, T2, T3, TResult>(Func<T1, T2, T3, TResult>, params object?[]?)
Memoized UseCallback<T>(T, params object?[]?) for a callback of type Func<T1, T2, T3, TResult>.
public static Func<T1, T2, T3, TResult> UseCallback<T1, T2, T3, TResult>(Func<T1, T2, T3, TResult> callback, params object?[]? deps)
Parameters
callbackFunc<T1, T2, T3, TResult>Callback to memoize.
depsobject[]Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.
Returns
- Func<T1, T2, T3, TResult>
The cached callback reference.
Type Parameters
T1T2T3TResult