Hirefullstack – Software Engineering & IT-Beratung aus Berlin

Glossary

Every technical term from the tutorial, explained in plain language. In the text these words are underlined with dashes and can be clicked.

Router & files

App Router
Today's way of creating pages in Next.js: folders inside `app/` become addresses, and a `page.tsx` in one of them is the page. It replaces the older Pages Router. Server components, layouts that keep their state and streaming only exist here.
Dynamic segment
A folder in square brackets, `[slug]`, standing in for any value at that position. `[...all]` catches any number of levels, `[[...all]]` also covers the empty case.
error.tsx
Catches errors from the area below and shows something readable instead. Has to be a client component.
Intercepting routes
Catching an address and showing it differently – a photo as an overlay rather than its own page, as long as you came from the list.
layout.tsx
A frame around everything below it – header, navigation, sidebar. It stays put while you navigate and keeps its state.
loading.tsx
What Next.js shows while the page below is still loading. Behind the scenes it is a Suspense boundary.
Middleware
Code running before every matching request – for redirects, languages or access control. It runs in a restricted environment: no database access, no Node modules.
not-found.tsx
Shown when an address does not exist or your code calls `notFound()`.
page.tsx
The file that makes up the content of an address. Without it the folder is not a reachable page.
Pages Router
The older approach using the `pages/` folder. It still works but no longer gets new capabilities.
Parallel routes
Several areas of one page filled at the same time and independently of each other. Their folders start with `@`.
Route group
A folder in round brackets, `(marketing)`, purely for organising files – it does not appear in the address.
Route handler
A `route.ts` that answers an address without being a page – your way to a custom API.
Route segment
A folder inside `app/` matching one piece of the address: `app/blog/[slug]` covers `/blog/my-article`.
template.tsx
Like a layout, but rebuilt on every navigation. For things that should start over each time – a fade-in animation, say.

Rendering & delivery

"use client"
The line at the top of a file saying: from here on everything runs in the browser. It applies to the file and everything it imports – which is why you put it as deep in the tree as possible.
"use server"
Marks a function as a server action: the browser may call it, but it executes on the server.
Client boundary
The point where a server component pulls in a client component. From there on everything ends up in the browser bundle.
Client component
A component that runs in the browser and can therefore use state, hooks and clicks. Marked with `"use client"` at the top of the file.
Dynamic rendering
The page is produced fresh on every request. Necessary as soon as it depends on cookies, headers or search params.
Hydration
The moment React takes over the server-delivered HTML in the browser and clicks start working.
ISR
A static page with an expiry date: after the configured time Next.js rebuilds it in the background. Short for Incremental Static Regeneration. Configured through `revalidate`.
Partial Prerendering
Serve the static shell immediately and stream the dynamic holes into it – both on one page.
RSC payload
The data format the server uses to send the result of its components to the browser – not HTML, but a description.
Server action
A function that runs on the server and that you can call straight from a form or a click – with no API in between.
Server component
A component that only runs on the server. It may fetch data directly but cannot handle clicks or use hooks. In the App Router this is the default – you do not have to do anything for it.
Static rendering
The page is produced at build time and then served identically to everyone. Fast and cheap – the default where possible.
Streaming
The page is sent in pieces: whatever is ready appears immediately, slow parts follow.
Suspense
An area showing a placeholder while something inside it is not ready – the basis for streaming.

Data & caching

Data cache
Next.js remembers `fetch` responses across requests and deploys, until you declare them stale.
Dynamic functions
`cookies()`, `headers()` and `searchParams`. Use one and the page can no longer be static.
Fetching on the server
In a server component you write `const data = await fetch(...)` straight in the component – no useEffect, no loading state.
Full route cache
The finished HTML of a static page, produced at build time and served directly afterwards.
generateStaticParams
Tells Next.js at build time which concrete values a dynamic segment should take – so it can turn them into static pages.
Request memoization
The same `fetch` used several times while building one page only really runs once.
revalidate
The setting for how many seconds cached data counts as fresh.
revalidatePath / revalidateTag
Targeted invalidation: after saving, refetch exactly the pages or data that are affected.
Router cache
The store in the browser: navigating back shows the page instantly from memory.
server-only
A tiny package that breaks the build if a file accidentally ends up in the browser. Protection for code holding secrets.
Waterfall
Two loads running one after the other although they could run side by side – the most common slowdown.

Around it

Draft mode
A switch that temporarily makes static pages dynamic – so editors can see unpublished drafts.
Edge runtime
A lightweight execution environment close to the user. Quick to start, but can do less than Node.
Environment variables
Values from `.env`. Only those starting with `NEXT_PUBLIC_` reach the browser – everything else stays on the server.
generateMetadata
The function you use to build title and description from loaded data – the article name from the database, say.
Metadata
A page's title, description and preview image – either as an exported object or as a function that computes them.
next/font
Downloads fonts at build time and puts them next to your code – no request to Google, no jumping text.
next/image
The image component that handles size, format and loading behaviour for you – and saves most of the load time.
Turbopack
The bundler Next.js now uses by default – considerably faster than the old route.
Hirefullstack

Need React firepower on your team?

We have been building React and Next.js applications for clients across Germany for years – as a single expert, as reinforcement for an existing team, or as a complete Scrum team.

Talk about your project →