useSignalProvider<T extends ReadonlySignal> function

T? useSignalProvider<T extends ReadonlySignal>()

A custom hook to retrieve a generic signal from a SignalProvider ancestor higher up in the widget tree.

Under the hood, this uses the BuildContext to look up the provider and registers a reactive dependency.

Supports standard core signals from package:signals_core/signals_core.dart as well as Flutter-native signals.

Example Usage

class CounterDisplayWidget extends HookWidget {
  const CounterDisplayWidget({super.key});

  @override
  Widget build(BuildContext context) {
    final counter = useSignalProvider<Signal<int>>();
    if (counter == null) return const Text('Not found');
    return Text('Value: ${counter.value}');
  }
}

Implementation

T? useSignalProvider<T extends core.ReadonlySignal>() {
  return use(_SignalProviderHook<T>());
}