Replace useEffectEvent in scan terminal dashboard

This commit is contained in:
2569718930@qq.com
2026-04-23 23:54:06 +08:00
parent ddc0180ae6
commit 8ebd5fa813
@@ -5,7 +5,6 @@ import {
startTransition, startTransition,
useDeferredValue, useDeferredValue,
useEffect, useEffect,
useEffectEvent,
useMemo, useMemo,
useState, useState,
} from "react"; } from "react";
@@ -348,7 +347,7 @@ function ScanTerminalScreen() {
); );
}, [deferredRows, selectedRowId]); }, [deferredRows, selectedRowId]);
const fetchTerminal = useEffectEvent(async (filters: FilterState, force = false) => { const fetchTerminal = async (filters: FilterState, force = false) => {
setLoading(true); setLoading(true);
setError(null); setError(null);
try { try {
@@ -368,9 +367,9 @@ function ScanTerminalScreen() {
} finally { } finally {
setLoading(false); setLoading(false);
} }
}); };
const fetchDetail = useEffectEvent(async (row: ScanOpportunityRow) => { const fetchDetail = async (row: ScanOpportunityRow) => {
if (!row.market_slug || !row.selected_date) return; if (!row.market_slug || !row.selected_date) return;
if (detailByRowId[row.id] !== undefined) return; if (detailByRowId[row.id] !== undefined) return;
setDetailLoadingId(row.id); setDetailLoadingId(row.id);
@@ -392,11 +391,11 @@ function ScanTerminalScreen() {
} finally { } finally {
setDetailLoadingId((current) => (current === row.id ? null : current)); setDetailLoadingId((current) => (current === row.id ? null : current));
} }
}); };
useEffect(() => { useEffect(() => {
void fetchTerminal(DEFAULT_FILTERS, false); void fetchTerminal(DEFAULT_FILTERS, false);
}, [fetchTerminal]); }, []);
useEffect(() => { useEffect(() => {
const intervalId = window.setInterval(() => { const intervalId = window.setInterval(() => {
@@ -405,12 +404,12 @@ function ScanTerminalScreen() {
return () => { return () => {
window.clearInterval(intervalId); window.clearInterval(intervalId);
}; };
}, [activeFilters, fetchTerminal]); }, [activeFilters]);
useEffect(() => { useEffect(() => {
if (!selectedRow) return; if (!selectedRow) return;
void fetchDetail(selectedRow); void fetchDetail(selectedRow);
}, [selectedRow, fetchDetail]); }, [selectedRow, detailByRowId]);
const selectedDetail = selectedRow ? detailByRowId[selectedRow.id] : null; const selectedDetail = selectedRow ? detailByRowId[selectedRow.id] : null;