From 13b1fa6ec214e2ef18e9710fd0b4634e24c56224 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Mon, 18 Sep 2023 09:15:33 -0700 Subject: [PATCH] fix #1883 initialize createDeferred with transition value --- .changeset/lazy-carpets-sit.md | 5 +++++ packages/solid/src/reactive/signal.ts | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 .changeset/lazy-carpets-sit.md diff --git a/.changeset/lazy-carpets-sit.md b/.changeset/lazy-carpets-sit.md new file mode 100644 index 00000000..7bc514d0 --- /dev/null +++ b/.changeset/lazy-carpets-sit.md @@ -0,0 +1,5 @@ +--- +"solid-js": patch +--- + +fix #1883 initialize createDeferred with transition value diff --git a/packages/solid/src/reactive/signal.ts b/packages/solid/src/reactive/signal.ts index 1cd7a2d8..25439507 100644 --- a/packages/solid/src/reactive/signal.ts +++ b/packages/solid/src/reactive/signal.ts @@ -756,10 +756,15 @@ export function createDeferred(source: Accessor, options?: DeferredOptions }, undefined, true + ) as Memo; + const [deferred, setDeferred] = createSignal( + Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, + options ); - const [deferred, setDeferred] = createSignal(node.value as T, options); updateComputation(node); - setDeferred(() => node.value as T); + setDeferred(() => + Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value + ); return deferred; }