From 4819ae668df4a4b17ecc0cc719e7220f4cdc07b8 Mon Sep 17 00:00:00 2001 From: Kevin Crawford Date: Thu, 2 Oct 2025 14:21:51 -0700 Subject: [PATCH] add redirect logic to test pending transition state --- examples/nextjs/app/{slow => [slug]}/page.tsx | 15 ++++++++++++--- examples/nextjs/app/page.tsx | 5 +++-- 2 files changed, 15 insertions(+), 5 deletions(-) rename examples/nextjs/app/{slow => [slug]}/page.tsx (51%) diff --git a/examples/nextjs/app/slow/page.tsx b/examples/nextjs/app/[slug]/page.tsx similarity index 51% rename from examples/nextjs/app/slow/page.tsx rename to examples/nextjs/app/[slug]/page.tsx index 413d5cb..5f30f2a 100644 --- a/examples/nextjs/app/slow/page.tsx +++ b/examples/nextjs/app/[slug]/page.tsx @@ -1,14 +1,23 @@ import { unstable_noStore } from "next/cache"; +import { redirect } from "next/navigation"; import { Link } from "react-transition-progress/next"; -export default async function SlowPage() { +export default async function SlowPage({ params: promisedParams }: { params: { slug: string } }) { + const params = await promisedParams + const { slug } = params unstable_noStore(); // Introduces artificial slowdown - await new Promise((resolve) => setTimeout(resolve, 1000)); + await new Promise((resolve) => setTimeout(resolve, 3000)); + + if (slug === 'foo') { + redirect('/bar') + } + return (

Slow page, artificially slowed by 1 second

+

{slug}

Go to home page
); -} \ No newline at end of file +} diff --git a/examples/nextjs/app/page.tsx b/examples/nextjs/app/page.tsx index 9ecb6dc..5976460 100644 --- a/examples/nextjs/app/page.tsx +++ b/examples/nextjs/app/page.tsx @@ -7,7 +7,8 @@ export default function Home() { <>

react-transition-progress

- Go to artificially slow page + Foo
+ Bar

Client Component that calls slow action

@@ -30,4 +31,4 @@ export default function Home() {
); -} \ No newline at end of file +}