Table of Contents

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

callback T

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

callback T

Callback to memoize. Captured on first render and on dependency changes.

deps object[]

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 deps are equal).

Type Parameters

T

Delegate type to memoize.

UseCallback(Action)

Unmemoized UseCallback<T>(T) for a callback of type Action.

public static Action UseCallback(Action callback)

Parameters

callback Action

The 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

callback Action

Callback to memoize.

deps object[]

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

callback Action<T1, T2>

The callback returned as-is.

Returns

Action<T1, T2>

callback.

Type Parameters

T1
T2

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

callback Action<T1, T2>

Callback to memoize.

deps object[]

Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.

Returns

Action<T1, T2>

The cached callback reference.

Type Parameters

T1
T2

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

callback Action<T1, T2, T3>

The callback returned as-is.

Returns

Action<T1, T2, T3>

callback.

Type Parameters

T1
T2
T3

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

callback Action<T1, T2, T3>

Callback to memoize.

deps object[]

Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.

Returns

Action<T1, T2, T3>

The cached callback reference.

Type Parameters

T1
T2
T3

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

callback Func<T1, TResult>

The callback returned as-is.

Returns

Func<T1, TResult>

callback.

Type Parameters

T1
TResult

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

callback Func<T1, TResult>

Callback to memoize.

deps object[]

Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.

Returns

Func<T1, TResult>

The cached callback reference.

Type Parameters

T1
TResult

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

callback Func<T1, T2, TResult>

The callback returned as-is.

Returns

Func<T1, T2, TResult>

callback.

Type Parameters

T1
T2
TResult

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

callback Func<T1, T2, TResult>

Callback to memoize.

deps object[]

Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.

Returns

Func<T1, T2, TResult>

The cached callback reference.

Type Parameters

T1
T2
TResult

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

callback Func<T1, T2, T3, TResult>

The callback returned as-is.

Returns

Func<T1, T2, T3, TResult>

callback.

Type Parameters

T1
T2
T3
TResult

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

callback Func<T1, T2, T3, TResult>

Callback to memoize.

deps object[]

Dependency values, compared as UseCallback<T>(T, params object?[]?) compares them.

Returns

Func<T1, T2, T3, TResult>

The cached callback reference.

Type Parameters

T1
T2
T3
TResult