gITF教程图文
eType, setActiveType] = useState("");
const [tutorialList, setTutorialList] = useState<TutorialResourceItem[]>(initialData?.records || []);
const [currentPage, setCurrentPage] = useState(initialData?.current || 1);
const [totalPages, setTotalPages] = useState(initialData?.pages || 1);
const [loading, setLoading] = useState(false);
const pageSize = 6;
const typeOptions = initialTypeOptions || [];
const categories = useMemo(
() => [{ label: "全部教程", value: "" }, ...typeOptions],
[typeOptions]
);
const tutorialTypeMap = useMemo(() => {
const map = new Map<string, string>();
typeOptions.forEach((item) => {
map.set(String(item.value), item.label);
});
return map;
}, [typeOptions]);
const getTypeLabel = (value?: string) => {