修复板块切换数据合并:行业/概念使用独立 useQuery 隔离数据
This commit is contained in:
+13
-3
@@ -23,12 +23,22 @@ function SectorsPage() {
|
|||||||
const [sortKey, setSortKey] = useState<SortKey>("mainNetInflow");
|
const [sortKey, setSortKey] = useState<SortKey>("mainNetInflow");
|
||||||
const [asc, setAsc] = useState(true);
|
const [asc, setAsc] = useState(true);
|
||||||
|
|
||||||
const { data = [], isLoading, isFetching, refetch } = useQuery({
|
// 行业 / 概念 各自独立的 Query,数据完全隔离,杜绝来回切换时的合并
|
||||||
queryKey: ["sectors", tab],
|
const industryQ = useQuery({
|
||||||
queryFn: ({ signal }) => fetchSectors(tab, signal),
|
queryKey: ["sectors", "industry"],
|
||||||
|
queryFn: ({ signal }) => fetchSectors("industry", signal),
|
||||||
staleTime: 30_000,
|
staleTime: 30_000,
|
||||||
retry: false,
|
retry: false,
|
||||||
});
|
});
|
||||||
|
const conceptQ = useQuery({
|
||||||
|
queryKey: ["sectors", "concept"],
|
||||||
|
queryFn: ({ signal }) => fetchSectors("concept", signal),
|
||||||
|
staleTime: 30_000,
|
||||||
|
retry: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
const { data = [], isLoading, isFetching, refetch } =
|
||||||
|
tab === "industry" ? industryQ : conceptQ;
|
||||||
|
|
||||||
const sorted = useMemo(() => {
|
const sorted = useMemo(() => {
|
||||||
const dir = asc ? 1 : -1;
|
const dir = asc ? 1 : -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user