@lexical/react/useExtensionSignalValue
Type Aliases
SignalValue
SignalValue<
S> =SextendsReadonlySignal<infer V> ?V:never
Defined in: packages/lexical-react/src/useExtensionSignalValue.ts:49
Type helper that extracts the value type from a ReadonlySignal. If the type is not a ReadonlySignal, it returns never.
Type Parameters
S
S
Example
type MySignal = ReadonlySignal<number>;
type Value = SignalValue<MySignal>; // number
Functions
useExtensionSignalValue()
useExtensionSignalValue<
Extension,K>(extension,prop):SignalValue<LexicalExtensionOutput<Extension>[K]>
Defined in: packages/lexical-react/src/useExtensionSignalValue.ts:74
A React hook that subscribes to a signal property from a Lexical extension's output and returns its current value. The component will re-render whenever the signal's value changes.
This hook combines the functionality of useExtensionDependency and useSignalValue, providing a convenient way to access reactive values from Lexical extensions.
Type Parameters
Extension
Extension extends AnyLexicalExtension
K
K extends string | number | symbol
Parameters
extension
Extension
The Lexical extension instance
prop
K
The property name in the extension's output that contains a signal
Returns
SignalValue<LexicalExtensionOutput<Extension>[K]>
The current value of the signal property
Example
import {useExtensionSignalValue} from '@lexical/react/useExtensionSignalValue';
import {MyExtension} from './MyExtension';
function MyComponent() {
// Assuming MyExtension has a signal property 'count' in its output
const count = useExtensionSignalValue(MyExtension, 'count');
return <div>Count: {count}</div>;
}
useSignalValue()
useSignalValue<
V>(s):V
Defined in: packages/lexical-react/src/useExtensionSignalValue.ts:31
A React hook that subscribes to a signal and returns its current value. The component will re-render whenever the signal's value changes.
Type Parameters
V
V
Parameters
s
The ReadonlySignal to subscribe to
Returns
V
The current value of the signal
Example
const signal = new Signal(0);
function MyComponent() {
const value = useSignalValue(signal);
return <div>Value: {value}</div>;
}