getSlide
Resolves the current slide from route params and the slides array. Use this in your [page]/page.tsx dynamic route.
Parameters
The route parameters object containing the page number as a string.
slides
React.ReactNode[]
required
The array of slide elements to render.
Returns
The slide element at the specified index.
Behavior
- Converts the
page param to a 0-based array index (page “1” → index 0)
- Returns
notFound() if:
- The page param is not a valid number
- The index is negative
- The index exceeds the slides array length
Usage Example
// app/slides/[page]/page.tsx
import { getSlide } from 'nextjs-slides';
import { slides } from '../slides';
export default async function SlidePage({
params
}: {
params: Promise<{ page: string }>
}) {
return getSlide(await params, slides);
}
generateSlideParams
Generates static params for all slides. Use with Next.js generateStaticParams for static site generation.
Parameters
slides
React.ReactNode[]
required
The array of slide elements.
Returns
An array of param objects with 1-based page numbers as strings.
Usage Example
// app/slides/[page]/page.tsx
import { generateSlideParams } from 'nextjs-slides';
import { slides } from '../slides';
export const generateStaticParams = () => generateSlideParams(slides);
For a deck with 3 slides, returns:
[
{ page: "1" },
{ page: "2" },
{ page: "3" }
]
Complete Example
// app/slides/[page]/page.tsx
import { getSlide, generateSlideParams } from 'nextjs-slides';
import { slides } from '../slides';
export const generateStaticParams = () => generateSlideParams(slides);
export default async function SlidePage({
params
}: {
params: Promise<{ page: string }>
}) {
return getSlide(await params, slides);
}