From 2db72409da22b6c99776f7401cbf708fb684a1e1 Mon Sep 17 00:00:00 2001 From: Paul Irish Date: Sat, 20 Dec 2025 18:19:45 -0800 Subject: [PATCH] fix lint in TOC --- web/project-site/src/components/TableOfContents.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/web/project-site/src/components/TableOfContents.tsx b/web/project-site/src/components/TableOfContents.tsx index 4cca2e4f..8d854325 100644 --- a/web/project-site/src/components/TableOfContents.tsx +++ b/web/project-site/src/components/TableOfContents.tsx @@ -29,7 +29,8 @@ export function TableOfContents() { }; }); - setHeadings(items); + // Defer the state update to avoid "setState in effect" warning and render cascades + const timeoutId = setTimeout(() => setHeadings(items), 0); const observer = new IntersectionObserver( (entries) => { @@ -44,7 +45,10 @@ export function TableOfContents() { elements.forEach((elem) => observer.observe(elem)); - return () => observer.disconnect(); + return () => { + clearTimeout(timeoutId); + observer.disconnect(); + }; }, [location.pathname]); if (headings.length === 0) return null;