refactor(web): remove eslint-disable from useBreadcrumb via ref (#54)

This commit is contained in:
2026-06-07 19:15:03 +02:00
parent 18cb35beff
commit af6004f731
+7 -4
View File
@@ -1,12 +1,15 @@
import { useContext, useEffect } from "react";
import { useContext, useEffect, useRef } from "react";
import { BreadcrumbContext, type BreadcrumbItem } from "./breadcrumb-context";
export function useBreadcrumb(trail: BreadcrumbItem[]): void {
const { setTrail } = useContext(BreadcrumbContext);
const key = trail.map((i) => `${i.label} ${i.to ?? ""}`).join("");
const trailRef = useRef(trail);
useEffect(() => {
setTrail(trail);
// eslint-disable-next-line react-hooks/exhaustive-deps
trailRef.current = trail;
});
const key = JSON.stringify(trail.map((item) => [item.label, item.to ?? null]));
useEffect(() => {
setTrail(trailRef.current);
}, [key, setTrail]);
}