fix(contact): 修复静态导出时 useSearchParams 需要 Suspense 的问题
- 将 ContactFormContent 组件用 Suspense 包裹 - 添加加载中 fallback 状态 - 确保静态导出兼容性
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
|
||||
import { useState, useEffect, useRef } from 'react';
|
||||
import { useState, useEffect, useRef, Suspense } from 'react';
|
||||
import { useSearchParams } from 'next/navigation';
|
||||
import { z } from 'zod';
|
||||
import { Button } from '@/components/ui/button';
|
||||
@@ -28,7 +28,7 @@ interface FormErrors {
|
||||
message?: string;
|
||||
}
|
||||
|
||||
export default function ContactPage() {
|
||||
function ContactFormContent() {
|
||||
const searchParams = useSearchParams();
|
||||
const isSuccessFromRedirect = searchParams.get('success') === 'true';
|
||||
const [isVisible, setIsVisible] = useState(false);
|
||||
@@ -372,3 +372,15 @@ export default function ContactPage() {
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
||||
export default function ContactPage() {
|
||||
return (
|
||||
<Suspense fallback={
|
||||
<main className="min-h-screen bg-white flex items-center justify-center">
|
||||
<div className="animate-pulse text-[#5C5C5C]">加载中...</div>
|
||||
</main>
|
||||
}>
|
||||
<ContactFormContent />
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user