From abf74d37706cc27b604955007fc6683b19b4985c Mon Sep 17 00:00:00 2001 From: Iha Shin Date: Fri, 11 Oct 2024 19:00:25 +0900 Subject: [PATCH] feat: add option to disable transition in solid integration --- integrations/solid/src/__internal__/core/CoreProvider.tsx | 6 ++++-- integrations/solid/src/future/StackComponentType.ts | 1 + integrations/solid/src/future/stackflow.tsx | 5 ++++- integrations/solid/src/stable/stackflow.tsx | 6 +++++- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/integrations/solid/src/__internal__/core/CoreProvider.tsx b/integrations/solid/src/__internal__/core/CoreProvider.tsx index 3fefa169e..d5dc7e586 100644 --- a/integrations/solid/src/__internal__/core/CoreProvider.tsx +++ b/integrations/solid/src/__internal__/core/CoreProvider.tsx @@ -13,6 +13,7 @@ export const CoreStateContext = createContext<{ export interface CoreProviderProps { coreStore: CoreStore; + transition: boolean; children: JSXElement; } export const CoreProvider: Component = (props) => { @@ -20,9 +21,10 @@ export const CoreProvider: Component = (props) => { const [pending, startTransition] = useTransition(); props.coreStore.subscribe(() => { - startTransition(() => { + const update = () => setStack(reconcile(props.coreStore.actions.getStack(), { merge: true })); - }); + if (props.transition) startTransition(update); + else update(); }); return ( diff --git a/integrations/solid/src/future/StackComponentType.ts b/integrations/solid/src/future/StackComponentType.ts index 0f59b3b23..3037e26d8 100644 --- a/integrations/solid/src/future/StackComponentType.ts +++ b/integrations/solid/src/future/StackComponentType.ts @@ -3,4 +3,5 @@ import type { Component } from "solid-js"; export type StackComponentType = Component<{ initialContext?: any; initialLoaderData?: any; + transition?: boolean; }>; diff --git a/integrations/solid/src/future/stackflow.tsx b/integrations/solid/src/future/stackflow.tsx index f9c35fdce..0c550244d 100644 --- a/integrations/solid/src/future/stackflow.tsx +++ b/integrations/solid/src/future/stackflow.tsx @@ -149,7 +149,10 @@ export function stackflow< return ( - + ; type StackflowPluginsEntry = @@ -197,7 +198,10 @@ export function stackflow( return ( - +