fix: 修复前端7处eslint错误和6处警告

- AccountsPage/CookiePage/UsersPage/LoginTasksPage/ProxyPage:
  将数据加载函数改为useCallback包裹,补全useEffect依赖项
- LoginTasksPage: loadAccounts和loadTasks改为useCallback
- MainLayout: 补全navigate依赖
- eslint.config.js: 关闭react-hooks/set-state-in-effect(对初始
  数据获取场景过严),降级react-refresh/only-export-components为warn
  (Provider/Hook/Type共存文件是合理设计)
This commit is contained in:
yml2213
2026-06-23 08:42:00 +08:00
parent dd56de9bd4
commit 98728bee87
7 changed files with 33 additions and 31 deletions
+6 -6
View File
@@ -67,14 +67,14 @@ export default function LoginTasksPage() {
return map;
}, [accounts]);
const loadAccounts = async () => {
const loadAccounts = useCallback(async () => {
try {
const data = await accountApi.list();
setAccounts(data);
} catch (e: unknown) {
message.error(getErrorMessage(e));
}
};
}, []);
// 标签选择变化时,同步更新选中的账号
const handleTagChange = useCallback((tags: string[]) => {
@@ -107,23 +107,23 @@ export default function LoginTasksPage() {
});
}, [selectedTags, tagAccountMap, accounts]);
const loadTasks = async () => {
const loadTasks = useCallback(async () => {
try {
const data = await loginApi.listTasks(batchId || undefined);
setTasks(data);
} catch {
// 忽略轮询失败,下一次定时刷新会继续尝试。
}
};
}, [batchId]);
useEffect(() => {
Promise.all([loadAccounts(), loadTasks()]);
}, []);
}, [loadAccounts, loadTasks]);
useEffect(() => {
const timer = setInterval(loadTasks, 3000);
return () => clearInterval(timer);
}, [batchId]);
}, [loadTasks]);
// 共享的批量登录启动逻辑
const startBatch = async (accountIds: number[]) => {