Skip to content

Commit 65afb12

Browse files
committed
Keep setters stable, wrt analysis object
1 parent a5a9fda commit 65afb12

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

packages/libs/eda/src/lib/core/hooks/analysis.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -750,13 +750,20 @@ function useSetter<T>(
750750
onAnalysisChange: AnalysisChangeHandler,
751751
skipServerCreate = false
752752
) {
753+
const analysisRef = useRef(analysis);
754+
useEffect(() => {
755+
analysisRef.current = analysis;
756+
});
753757
return useCallback(
754758
(nestedValue: T | ((nestedValue: T) => T)) => {
755-
if (analysis == null) return; // TODO Should this throw an error?
756-
onAnalysisChange(updateAnalysis(analysis, nestedValueLens, nestedValue), {
757-
skipServerCreate,
758-
});
759+
if (analysisRef.current == null) return; // TODO Should this throw an error?
760+
onAnalysisChange(
761+
updateAnalysis(analysisRef.current, nestedValueLens, nestedValue),
762+
{
763+
skipServerCreate,
764+
}
765+
);
759766
},
760-
[analysis, nestedValueLens, onAnalysisChange, skipServerCreate]
767+
[nestedValueLens, onAnalysisChange, skipServerCreate]
761768
);
762769
}

0 commit comments

Comments
 (0)