Browse Source

fix: move useMemo above early returns in ModelParametersInner

The displaySchema useMemo was placed after conditional early returns,
violating React's Rules of Hooks and causing hook order mismatch errors
when the component toggled between rendering null and its content.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
handoff-20260429-1057
shrimbly 4 months ago
parent
commit
abe03b4942
  1. 12
      src/components/nodes/ModelParameters.tsx

12
src/components/nodes/ModelParameters.tsx

@ -211,6 +211,12 @@ function ModelParametersInner({
}; };
}, [useGrid]); }, [useGrid]);
const displaySchema = useMemo(() => {
return useGrid && colCount > 1
? reorderColumnFirst(sortedSchema, colCount)
: sortedSchema;
}, [sortedSchema, useGrid, colCount]);
// Don't render anything for Gemini or if no model selected // Don't render anything for Gemini or if no model selected
if (provider === "gemini" || !modelId) { if (provider === "gemini" || !modelId) {
return null; return null;
@ -221,12 +227,6 @@ function ModelParametersInner({
return null; return null;
} }
const displaySchema = useMemo(() => {
return useGrid && colCount > 1
? reorderColumnFirst(sortedSchema, colCount)
: sortedSchema;
}, [sortedSchema, useGrid, colCount]);
return ( return (
<div className="shrink-0"> <div className="shrink-0">
{error ? ( {error ? (

Loading…
Cancel
Save