mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-05 14:47:40 +03:00
Fix fitCameraOrder reset on every re-render due to unstable cameras ref
Replace cameras array dependency in the reset useEffect with a stable cameraKey string (sorted camera names joined by comma). Since cameras is recreated on every parent render, the previous effect fired on each re-render, immediately clearing the persisted order. The key changes only when the actual set of cameras changes. https://claude.ai/code/session_018sRNpvMwxLgt5Un8PCjfRU
This commit is contained in:
parent
53caf3312b
commit
a95e5321d0
@ -485,11 +485,16 @@ export default function DraggableGridLayout({
|
||||
}));
|
||||
}, [fitToScreen, fitGridParams, cameras, includeBirdseye, birdseyeConfig, fitCameraOrder]);
|
||||
|
||||
const cameraKey = useMemo(
|
||||
() => cameras.map((c) => c.name).sort().join(","),
|
||||
[cameras],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
// Сбросить сохранённый порядок только если изменился набор камер
|
||||
// (добавили/удалили камеру), не при изменении размера окна
|
||||
setFitCameraOrder(undefined);
|
||||
}, [cameras, includeBirdseye]);
|
||||
}, [cameraKey, includeBirdseye]);
|
||||
|
||||
const handleFitDragStop = useCallback(
|
||||
(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user