diff --git a/packages/effect-components/src/ReactComponent.ts b/packages/effect-components/src/ReactComponent.ts index 08115c0..44ecb35 100644 --- a/packages/effect-components/src/ReactComponent.ts +++ b/packages/effect-components/src/ReactComponent.ts @@ -25,11 +25,11 @@ export const withDisplayName: { export const useFC: { ( self: ReactComponent - ): Effect.Effect, never, R> + ): Effect.Effect, never, Exclude> } = Effect.fnUntraced(function* ( self: ReactComponent ) { - const runtime = yield* Effect.runtime() + const runtime = yield* Effect.runtime>() return React.useMemo(() => function ScopeProvider(props: P) { const scope = Runtime.runSync(runtime)(ReactHook.useScope()) @@ -52,7 +52,7 @@ export const use: { ( self: ReactComponent, fn: (Component: React.FC

) => React.ReactNode, - ): Effect.Effect + ): Effect.Effect> } = Effect.fnUntraced(function*(self, fn) { return fn(yield* useFC(self)) }) diff --git a/packages/example/src/routes/effect-component-tests.tsx b/packages/example/src/routes/effect-component-tests.tsx index a506451..321db46 100644 --- a/packages/example/src/routes/effect-component-tests.tsx +++ b/packages/example/src/routes/effect-component-tests.tsx @@ -68,7 +68,7 @@ const MyTestComponent = pipe( const service = yield* SubService const [value] = yield* ReactHook.useSubscribeRefs(service.ref) - yield* ReactHook.useEffect(() => Effect.andThen( + yield* ReactHook.useMemo(() => Effect.andThen( Effect.addFinalizer(() => Console.log("MyTestComponent umounted")), Console.log("MyTestComponent mounted"), ), [])