Help with Next-js redirect function in server component
Unanswered
Atlantic herring posted this in #help-forum
Atlantic herringOP
Greetings!
I am using Next-js version 14.1.0 and in layout.tsx for auth routes I am getting customer using getCustomer() server action and using if condition to redirect user to home page if the user is logged in, so that the user can't access auth pages while logged in, but then I remove the cookie manually from browser, and getCustomer server action is returning null but still I am unable to access to sign-in page, it still redirects to home page. And If I refresh the page, then I can access the sign-in page once again.
could someone help me out here?
I am using Next-js version 14.1.0 and in layout.tsx for auth routes I am getting customer using getCustomer() server action and using if condition to redirect user to home page if the user is logged in, so that the user can't access auth pages while logged in, but then I remove the cookie manually from browser, and getCustomer server action is returning null but still I am unable to access to sign-in page, it still redirects to home page. And If I refresh the page, then I can access the sign-in page once again.
could someone help me out here?
1 Reply
Atlantic herringOP
src/app/(auth)/layout.tsxexport default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
const customer = await getCustomer();
if (customer) {
redirect("/")
}
return (
<div className="min-h-screen w-full bg-[#f0f0fa] p-5">
<Card className="flex justify-center rounded-none border-0 bg-[#f0f0fa] px-4 py-1 shadow-none">
<Link href="/">
<Image
src="/assets/images/logo.png"
width={90}
height={90}
alt="logo"
/>
</Link>
</Card>
{children}
</div>
);
}
export const dynamic = "force-dynamic";Here is the code for reference, could anyone help me out here? Thank You.