mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-06-29 09:55:56 +08:00
fix: 修复 ESLint set-state-in-effect 错误 — useEffect 加 prevOpen 守卫
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { useState, useEffect, useMemo } from 'react';
|
||||
import { useState, useEffect, useMemo, useRef } from 'react';
|
||||
import { invoke } from '@tauri-apps/api/core';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Modal } from '@/components/ui/Modal';
|
||||
@@ -35,8 +35,10 @@ export function AnalyzeDialog({ open, onClose }: Props) {
|
||||
const [toolGroups, setToolGroups] = useState<ToolGroup[]>([]);
|
||||
const [searchQuery, setSearchQuery] = useState('');
|
||||
|
||||
const prevOpen = useRef(false);
|
||||
useEffect(() => {
|
||||
if (!open) return;
|
||||
if (!open || prevOpen.current) return;
|
||||
prevOpen.current = open;
|
||||
setLoading(true);
|
||||
const paths = getEnabledPaths();
|
||||
Promise.all([
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useState, useEffect, useCallback } from 'react';
|
||||
import { useState, useEffect, useCallback, useRef } from 'react';
|
||||
import { invoke } from '@tauri-apps/api/core';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Modal } from '@/components/ui/Modal';
|
||||
@@ -39,8 +39,10 @@ export function ProfileDialog({ open, onClose }: Props) {
|
||||
setProfiles(list);
|
||||
}, []);
|
||||
|
||||
const prevOpen = useRef(false);
|
||||
useEffect(() => {
|
||||
if (open) refreshProfiles();
|
||||
if (open && !prevOpen.current) refreshProfiles();
|
||||
prevOpen.current = open;
|
||||
}, [open, refreshProfiles]);
|
||||
|
||||
const handleSave = async () => {
|
||||
|
||||
Reference in New Issue
Block a user