Skip to content

Commit e145ced

Browse files
authored
Fix maximum update depth exceeded (#184)
1 parent 0202c1e commit e145ced

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

ui/src/timespan/DoneTrackers.tsx

+7-4
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ export const DoneTrackers: React.FC<DoneTrackersProps> = ({addTagsToTracker}) =>
114114
timeSpans={timeSpans}
115115
addTagsToTracker={addTagsToTracker}
116116
setHeight={setHeights}
117+
height={heights[key] || 500}
117118
/>
118119
);
119120
})}
@@ -125,14 +126,16 @@ export const DoneTrackers: React.FC<DoneTrackersProps> = ({addTagsToTracker}) =>
125126
const DatedTimeSpans: React.FC<{
126127
name: string;
127128
setHeight: (cb: (height: Record<string, number>) => Record<string, number>) => void;
129+
height: number;
128130
timeSpans: TimeSpanProps[];
129-
} & DoneTrackersProps> = ({name, timeSpans, addTagsToTracker, setHeight}) => {
131+
} & DoneTrackersProps> = ({name, timeSpans, addTagsToTracker, setHeight, height}) => {
130132
const ref = React.useRef<HTMLDivElement | null>();
131133
React.useEffect(() => {
132-
if (ref.current) {
133-
setHeight((old) => ({...old, [name]: ref.current!.getBoundingClientRect().height}));
134+
const currentHeight = ref.current && ref.current.getBoundingClientRect().height;
135+
if (currentHeight != null && currentHeight !== height) {
136+
setHeight((old) => ({...old, [name]: currentHeight}));
134137
}
135-
}, [ref, name, setHeight]);
138+
}, [ref, name, setHeight, height]);
136139
return (
137140
<div key={name} ref={(r) => (ref.current = r)}>
138141
<Typography key={name} align="center" variant={'h5'}>

0 commit comments

Comments
 (0)