diff --git a/packages/app-astro/src/components/SpaDetail.tsx b/packages/app-astro/src/components/SpaDetail.tsx index b2d9ffb4..252b211d 100644 --- a/packages/app-astro/src/components/SpaDetail.tsx +++ b/packages/app-astro/src/components/SpaDetail.tsx @@ -1,4 +1,3 @@ -export default function SpaDetail() { - const id = new URLSearchParams(window.location.search).get('id') +export default function SpaDetail({ id }: { id?: string }) { return

{id}

} diff --git a/packages/app-astro/src/components/SpaPage.tsx b/packages/app-astro/src/components/SpaPage.tsx index 544ec925..abb7a384 100644 --- a/packages/app-astro/src/components/SpaPage.tsx +++ b/packages/app-astro/src/components/SpaPage.tsx @@ -20,7 +20,7 @@ export default function SpaPage() { {entry.id} {entry.name} - View → + View → ))} diff --git a/packages/app-astro/src/pages/mpa.astro b/packages/app-astro/src/pages/mpa.astro index e5415e42..1fc1a560 100644 --- a/packages/app-astro/src/pages/mpa.astro +++ b/packages/app-astro/src/pages/mpa.astro @@ -18,7 +18,7 @@ const entries = await testData() {entry.id} {entry.name} - View → + View → )) diff --git a/packages/app-astro/src/pages/mpa/detail.astro b/packages/app-astro/src/pages/mpa/[id].astro similarity index 83% rename from packages/app-astro/src/pages/mpa/detail.astro rename to packages/app-astro/src/pages/mpa/[id].astro index 8a641604..0ad006fd 100644 --- a/packages/app-astro/src/pages/mpa/detail.astro +++ b/packages/app-astro/src/pages/mpa/[id].astro @@ -1,5 +1,5 @@ --- -const id = Astro.url.searchParams.get('id') +const { id } = Astro.params --- diff --git a/packages/app-astro/src/pages/spa/detail.astro b/packages/app-astro/src/pages/spa/[id].astro similarity index 76% rename from packages/app-astro/src/pages/spa/detail.astro rename to packages/app-astro/src/pages/spa/[id].astro index 86109fe7..f9728796 100644 --- a/packages/app-astro/src/pages/spa/detail.astro +++ b/packages/app-astro/src/pages/spa/[id].astro @@ -1,5 +1,7 @@ --- import SpaDetail from '../../components/SpaDetail' + +const { id } = Astro.params --- @@ -9,6 +11,6 @@ import SpaDetail from '../../components/SpaDetail' Astro SPA Detail - + diff --git a/packages/app-next-js/app/mpa/[id]/page.tsx b/packages/app-next-js/app/mpa/[id]/page.tsx new file mode 100644 index 00000000..54795502 --- /dev/null +++ b/packages/app-next-js/app/mpa/[id]/page.tsx @@ -0,0 +1,9 @@ +interface Props { + params: Promise<{ id: string }> +} + +export default async function MpaDetailPage({ params }: Props) { + const { id } = await params + + return

{id}

+} diff --git a/packages/app-next-js/app/mpa/detail/page.tsx b/packages/app-next-js/app/mpa/detail/page.tsx deleted file mode 100644 index 3d6b31e7..00000000 --- a/packages/app-next-js/app/mpa/detail/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -interface Props { - searchParams: Promise<{ id?: string }> -} - -export default async function MpaDetailPage({ searchParams }: Props) { - const { id } = await searchParams - - return

{id}

-} diff --git a/packages/app-next-js/app/mpa/page.tsx b/packages/app-next-js/app/mpa/page.tsx index 2f38d6ab..ab79fede 100644 --- a/packages/app-next-js/app/mpa/page.tsx +++ b/packages/app-next-js/app/mpa/page.tsx @@ -13,7 +13,7 @@ export default async function MpaPage() { {entry.id} {entry.name} - View → + View → ))} diff --git a/packages/app-next-js/app/spa/SpaTable.tsx b/packages/app-next-js/app/spa/SpaTable.tsx index 32274dbb..6ad220a1 100644 --- a/packages/app-next-js/app/spa/SpaTable.tsx +++ b/packages/app-next-js/app/spa/SpaTable.tsx @@ -23,7 +23,7 @@ export default function SpaTable() { {entry.id} {entry.name} - View → + View → ))} diff --git a/packages/app-next-js/app/spa/[id]/page.tsx b/packages/app-next-js/app/spa/[id]/page.tsx new file mode 100644 index 00000000..807c02a4 --- /dev/null +++ b/packages/app-next-js/app/spa/[id]/page.tsx @@ -0,0 +1,9 @@ +'use client' + +import { useParams } from 'next/navigation' + +export default function SpaDetailPage() { + const params = useParams<{ id: string }>() + + return

{params.id}

+} diff --git a/packages/app-next-js/app/spa/detail/page.tsx b/packages/app-next-js/app/spa/detail/page.tsx deleted file mode 100644 index 4ce252af..00000000 --- a/packages/app-next-js/app/spa/detail/page.tsx +++ /dev/null @@ -1,19 +0,0 @@ -'use client' - -import { Suspense } from 'react' -import { useSearchParams } from 'next/navigation' - -function DetailContent() { - const searchParams = useSearchParams() - const id = searchParams.get('id') - - return

{id}

-} - -export default function SpaDetailPage() { - return ( - - - - ) -} diff --git a/packages/app-nuxt/app/pages/mpa/detail.vue b/packages/app-nuxt/app/pages/mpa/[id].vue similarity index 59% rename from packages/app-nuxt/app/pages/mpa/detail.vue rename to packages/app-nuxt/app/pages/mpa/[id].vue index c68de24a..83db4141 100644 --- a/packages/app-nuxt/app/pages/mpa/detail.vue +++ b/packages/app-nuxt/app/pages/mpa/[id].vue @@ -1,6 +1,6 @@