From e480a63fa9a43cfd322c23eb2c929c9aac7a412f Mon Sep 17 00:00:00 2001 From: max747 Date: Fri, 20 Feb 2026 11:05:23 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20EventItemSummaryPage=20=E3=81=AE=20u?= =?UTF-8?q?seEffect=20=E4=BE=9D=E5=AD=98=E9=85=8D=E5=88=97=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit event は毎レンダーで events.find() が呼ばれ、参照が不安定になりうる。 event の検索を useEffect 内に移動し、依存配列を [eventId, events, exclusions] に変更した。 Co-Authored-By: Claude Sonnet 4.6 --- viewer/src/pages/EventItemSummaryPage.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/viewer/src/pages/EventItemSummaryPage.tsx b/viewer/src/pages/EventItemSummaryPage.tsx index 6c0d808..968d37b 100644 --- a/viewer/src/pages/EventItemSummaryPage.tsx +++ b/viewer/src/pages/EventItemSummaryPage.tsx @@ -16,9 +16,9 @@ export function EventItemSummaryPage() { const [loading, setLoading] = useState(true); const [error, setError] = useState(null); - const event = events.find((e) => e.eventId === eventId); - useEffect(() => { + if (!eventId) return; + const event = events.find((e) => e.eventId === eventId); if (!event) return; const controller = new AbortController(); @@ -57,9 +57,10 @@ export function EventItemSummaryPage() { if (!controller.signal.aborted) setLoading(false); }); return () => controller.abort(); - }, [event, exclusions]); + }, [eventId, events, exclusions]); if (!eventId) return null; + const event = events.find((e) => e.eventId === eventId); if (!event) return ; if (loading || error) return ; From 6ab00cb0f6c2b82dd1ff562c6587ac39416d255c Mon Sep 17 00:00:00 2001 From: max747 Date: Fri, 20 Feb 2026 11:05:29 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20ReportersPage=20=E3=81=AE=20null-eve?= =?UTF-8?q?ntId=20=E6=99=82=E3=81=AE=E6=8C=99=E5=8B=95=E3=82=92=20Navigate?= =?UTF-8?q?=20=E3=81=AB=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit eventId が null の場合に return null(空白ページ)を返していたが、 他ページと同様に に統一した。 Co-Authored-By: Claude Sonnet 4.6 --- viewer/src/pages/ReportersPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/viewer/src/pages/ReportersPage.tsx b/viewer/src/pages/ReportersPage.tsx index ed7415c..c390b4f 100644 --- a/viewer/src/pages/ReportersPage.tsx +++ b/viewer/src/pages/ReportersPage.tsx @@ -6,7 +6,7 @@ export function ReportersPage() { const { eventId } = useParams<{ eventId: string }>(); const { events, exclusions } = useOutletContext(); - if (!eventId) return null; + if (!eventId) return ; const event = events.find((e) => e.eventId === eventId); if (!event) return ; From 94f68e008490f23a510510d513ee87088b53860e Mon Sep 17 00:00:00 2001 From: max747 Date: Fri, 20 Feb 2026 11:34:30 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20EventItemSummaryPage=20=E3=81=AE=20n?= =?UTF-8?q?ull-eventId=20=E6=99=82=E3=81=AE=E6=8C=99=E5=8B=95=E3=82=92=20N?= =?UTF-8?q?avigate=20=E3=81=AB=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit eventId が null の場合に return null(空白ページ)を返していたが、 他ページと統一して に変更した。 Co-Authored-By: Claude Sonnet 4.6 --- viewer/src/pages/EventItemSummaryPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/viewer/src/pages/EventItemSummaryPage.tsx b/viewer/src/pages/EventItemSummaryPage.tsx index 968d37b..8e316e9 100644 --- a/viewer/src/pages/EventItemSummaryPage.tsx +++ b/viewer/src/pages/EventItemSummaryPage.tsx @@ -59,7 +59,7 @@ export function EventItemSummaryPage() { return () => controller.abort(); }, [eventId, events, exclusions]); - if (!eventId) return null; + if (!eventId) return ; const event = events.find((e) => e.eventId === eventId); if (!event) return ; if (loading || error) return ;