useComputed<T> function
Create a new computed signal
Implementation
Computed<T> useComputed<T>(
/// The selector function to compute the value.
T Function() selector, {
/// {macro SignalBase.name}
String? name,
/// {macro SignalBase.equals}
bool? equals,
/// {@macro SignalBase.autoDispose}
bool? autoDispose = false,
/// {@macro SignalBase.trackInDevTools}
bool? trackInDevTools,
/// {@macro SignalBase.comparator}
bool Function(T? a, T? b) comparator = identical,
/// {@macro SignalBase.trackPreviousValue}
bool? trackPreviousValue,
}) {
final instance = useRef(selector);
instance.value = selector;
final target = useMemoized(
() => Computed<T>(
instance.value,
autoDispose: autoDispose,
name: name,
equals: equals,
trackInDevTools: trackInDevTools,
comparator: comparator,
trackPreviousValue: trackPreviousValue,
),
[],
);
return use(
_SignalHook('useComputed', target, disposeOnUnmount: autoDispose ?? true),
);
}