From cf6c84ff8e3c19a8d6a15152f7134a0ef7bdf329 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 2 May 2025 21:56:46 +0200 Subject: [PATCH] useScope fix --- packages/reffuse/src/ReffuseNamespace.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/reffuse/src/ReffuseNamespace.ts b/packages/reffuse/src/ReffuseNamespace.ts index d3c4e0b..9de86e3 100644 --- a/packages/reffuse/src/ReffuseNamespace.ts +++ b/packages/reffuse/src/ReffuseNamespace.ts @@ -14,7 +14,7 @@ export interface ScopeOptions { readonly finalizerExecutionStrategy?: ExecutionStrategy.ExecutionStrategy } -export interface UseScopeOptions extends ScopeOptions { +export interface UseScopeOptions extends RenderOptions, ScopeOptions { readonly finalizerExecutionMode?: "sync" | "fork" } @@ -102,7 +102,7 @@ export abstract class ReffuseNamespace { const [isInitialRun, initialScope] = React.useMemo(() => runSync(Effect.all([ Ref.make(true), - Scope.make(options?.finalizerExecutionStrategy), + Scope.make(options?.finalizerExecutionStrategy ?? ExecutionStrategy.sequential), ])), []) const [scope, setScope] = React.useState(initialScope) @@ -133,7 +133,10 @@ export abstract class ReffuseNamespace { }), runSync, - ), [runSync, runFork, ...deps]) + ), [ + ...options?.doNotReExecuteOnRuntimeOrContextChange ? [] : [runSync, runFork], + ...deps, + ]) return scope }