diff --git a/src/lib/state/react/useSignal.ts b/src/lib/state/react/useSignal.ts index 2f61e41..5f94705 100644 --- a/src/lib/state/react/useSignal.ts +++ b/src/lib/state/react/useSignal.ts @@ -17,8 +17,8 @@ export function useSignal( export function useSignal(signal: Signal | VirtualSignal) { const finalSignal = useSignalReference(signal) - const value = useSignalValue(signal) - const setValue = useSetSignal(signal) + const value = useSignalValue(finalSignal) + const setValue = useSetSignal(finalSignal) return [value, setValue, finalSignal] as const } diff --git a/src/lib/state/react/useSignalReference.ts b/src/lib/state/react/useSignalReference.ts index 31de280..9b3951f 100644 --- a/src/lib/state/react/useSignalReference.ts +++ b/src/lib/state/react/useSignalReference.ts @@ -1,8 +1,5 @@ import { type Signal, VirtualSignal } from "../Signal" -import { - useMakeOrRetrieveSignal, - useSignalContext, -} from "./SignalContextProvider" +import { useSignalContext } from "./SignalContextProvider" export function useSignalReference( signal: Signal | VirtualSignal, @@ -15,7 +12,9 @@ export function useSignalReference( ) } - return (useMakeOrRetrieveSignal( - signal instanceof VirtualSignal ? signal : undefined, - ) ?? signal) as Signal + return ( + signal instanceof VirtualSignal + ? signalContext.getOrCreateSignal(signal) + : signal + ) as Signal }