useSuspense
Some checks failed
Lint / lint (push) Failing after 9s

This commit is contained in:
Julien Valverdé
2025-01-16 00:43:28 +01:00
parent 4d411bc8dc
commit 6526953c37

View File

@@ -110,10 +110,16 @@ export class Reffuse<R> {
useSuspense<A, E>( useSuspense<A, E>(
effect: Effect.Effect<A, E, R>, effect: Effect.Effect<A, E, R>,
options?: { readonly signal?: AbortSignal }, deps?: React.DependencyList,
options?: { readonly signal?: AbortSignal } & RenderOptions,
): A { ): A {
const runPromise = this.useRunPromise() 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<A, E>( useFork<A, E>(