Skip to content

Commit 8d9761d

Browse files
committed
fix(ShareModal): 修复 ESLint useEffect 依赖错误,调整函数声明顺序
1 parent e90dbe2 commit 8d9761d

2 files changed

Lines changed: 14 additions & 18 deletions

File tree

src/components/ShareModal/ShareModal.tsx

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,6 @@ const ShareModal: React.FC<ShareModalProps> = ({
5757
const [isGenerating, setIsGenerating] = useState(true);
5858
const [generatedImage, setGeneratedImage] = useState<string | null>(null);
5959

60-
// Auto-generate image when modal opens
61-
useEffect(() => {
62-
if (isOpen) {
63-
setIsGenerating(true);
64-
// Delay to ensure DOM is fully rendered
65-
const timer = setTimeout(() => {
66-
generateImage();
67-
}, 300);
68-
return () => clearTimeout(timer);
69-
}
70-
}, [isOpen]);
71-
7260
const generateImage = useCallback(async () => {
7361
if (!cardRef.current) return;
7462

@@ -90,11 +78,7 @@ const ShareModal: React.FC<ShareModalProps> = ({
9078
top: '0',
9179
opacity: '1',
9280
},
93-
// 过滤掉可能导致问题的元素
94-
filter: (node: Node) => {
95-
// 保留所有元素,但确保样式正确
96-
return true;
97-
}
81+
filter: () => true
9882
});
9983

10084
setGeneratedImage(dataUrl);
@@ -110,6 +94,18 @@ const ShareModal: React.FC<ShareModalProps> = ({
11094
}
11195
}, []);
11296

97+
// Auto-generate image when modal opens
98+
useEffect(() => {
99+
if (isOpen) {
100+
setIsGenerating(true);
101+
// Delay to ensure DOM is fully rendered
102+
const timer = setTimeout(() => {
103+
generateImage();
104+
}, 300);
105+
return () => clearTimeout(timer);
106+
}
107+
}, [isOpen, generateImage]);
108+
113109
const handleDownload = useCallback(() => {
114110
if (!generatedImage) return;
115111

src/data/animation-list.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"generatedAt": "2026-02-21T09:55:11.301Z",
2+
"generatedAt": "2026-02-21T10:08:02.584Z",
33
"count": 2,
44
"animations": {
55
"46": {

0 commit comments

Comments
 (0)