Next13 이후부터,
app 디렉토리를 사용하는 경우 next/router가 아닌 next/navigation을 사용해야 한다.
'use client'
import UserProfilePageSection from '@/sections/user-profile-page-section'
import { useSearchParams } from "next/navigation";
export default function UserPage() {
const params = useSearchParams();
const userEmail = params.get("email");
const userIdx = params.get("idx");
return (
<UserProfilePageSection params={{ userEmail: userEmail, userIdx: userIdx }}/>
);
}
'use client'
interface UserProfilePageSectionProps {
params: {
userEmail: string;
userIdx: string;
// 다른 필요한 props들도 여기에 추가할 수 있음
};
}
const UserProfilePageSection: React.FC<UserProfilePageSectionProps> = ({ params }) => {
const { userEmail, userIdx } = params;
// userEmail과 userIdx를 사용하여 원하는 작업 수행
return (
<div>
{userEmail}
{userIdx}
</div>
);
};
export default UserProfilePageSection;
[Nextjs] Linking & Navigating
import Link from 'next/link';
export default function PostList({ posts }) {
return (
<ul>
<Link href={`/main/user/profile?email=${session.email}&idx=profile`}>Profile</Link>
))}
</ul>
);
}
import { useSearchParams } from "next/navigation";
export default function UserPage() {
const params = useSearchParams();
const userEmail = params.get("email");
const userIdx = params.get("idx");
return (
<UserProfilePageSection params={{ userEmail: userEmail, userIdx: userIdx }}/>
);
}