From 6526953c3789394e44f4905388dee6c0fc077faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Thu, 16 Jan 2025 00:43:28 +0100 Subject: [PATCH] useSuspense --- packages/reffuse/src/Reffuse.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/reffuse/src/Reffuse.ts b/packages/reffuse/src/Reffuse.ts index 32ef466..2561a4d 100644 --- a/packages/reffuse/src/Reffuse.ts +++ b/packages/reffuse/src/Reffuse.ts @@ -110,10 +110,16 @@ export class Reffuse { useSuspense( effect: Effect.Effect, - options?: { readonly signal?: AbortSignal }, + deps?: React.DependencyList, + options?: { readonly signal?: AbortSignal } & RenderOptions, ): A { const runPromise = this.useRunPromise() - return React.use(runPromise(effect, options)) + + const promise = React.useMemo(() => runPromise(effect, options), [ + ...options?.doNotReExecuteOnRuntimeOrContextChange ? [] : [runPromise], + ...(deps ?? []), + ]) + return React.use(promise) } useFork(