Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is static rendering in Next.js?
Static rendering means the page HTML is generated once at build time and served as a fixed file to all users. It does not change on each request.
Click to reveal answer
beginner
When does Next.js generate static pages by default?
Next.js generates static pages by default for pages without data fetching methods like getServerSideProps or dynamic data fetching methods.
Click to reveal answer
intermediate
How does static rendering improve website performance?
Static rendering improves performance by serving pre-built HTML quickly without server processing on each request, reducing load time.
Click to reveal answer
intermediate
Can static rendering pages update their content after deployment?
By default, static pages do not update after deployment unless you use features like Incremental Static Regeneration (ISR) to refresh content.
Click to reveal answer
intermediate
What is the difference between static rendering and server-side rendering in Next.js?
Static rendering builds pages at build time, serving fixed HTML. Server-side rendering builds pages on each request, generating fresh HTML dynamically.
Click to reveal answer
What does Next.js do by default for pages without data fetching?
AUses client-side rendering only
BFetches data on every request
CGenerates static HTML at build time
DThrows an error
✗ Incorrect
Next.js generates static HTML at build time for pages without data fetching methods by default.
Which feature allows static pages to update after deployment?
AIncremental Static Regeneration (ISR)
BClient-side rendering
CServer-side rendering
DStatic Site Generation (SSG)
✗ Incorrect
ISR lets Next.js update static pages after deployment by regenerating them in the background.
Static rendering improves performance because:
APages are pre-built and served quickly
BPages are built on every request
CIt uses more server resources
DIt delays page loading
✗ Incorrect
Pre-built pages serve faster since no server processing is needed on each request.
Which Next.js method disables static rendering for a page?
AgetInitialProps
BgetStaticProps
CuseEffect
DgetServerSideProps
✗ Incorrect
Using getServerSideProps forces server-side rendering, disabling static rendering.
What is served to users in static rendering?
ARaw JavaScript code
BPre-built HTML files
CServer-generated HTML on each request
DEmpty pages
✗ Incorrect
Users get pre-built HTML files generated at build time in static rendering.
Explain how static rendering works in Next.js and why it is beneficial.
Think about when the page HTML is created and how it affects user experience.
You got /4 concepts.
Describe the difference between static rendering and server-side rendering in Next.js.
Focus on when the page is built and how often.
You got /4 concepts.
Practice
(1/5)
1. What does static rendering in Next.js do by default?
easy
A. Builds pages once at build time for fast loading
B. Fetches data on every user request
C. Renders pages only on the client side
D. Updates pages dynamically without rebuilding
Solution
Step 1: Understand static rendering concept
Static rendering means pages are generated once during the build process, not on each request.
Step 2: Compare options with static rendering
Only Builds pages once at build time for fast loading describes building pages once at build time, which matches static rendering.
Final Answer:
Builds pages once at build time for fast loading -> Option A
Quick Check:
Static rendering = build time page generation [OK]
Hint: Static rendering means build once, serve many times [OK]
Common Mistakes:
Confusing static rendering with server-side rendering
Thinking pages update on every request
Assuming static rendering is client-side only
2. Which of the following is the correct way to export a statically rendered page in Next.js?
easy
A. export default class Page extends React.Component {}
B. export async function getServerSideProps() { return { props: {} } }
C. export default function Page() { return
Hello
}
D. export function getStaticProps() { return { props: {} } }
Solution
Step 1: Identify static rendering export style
Static rendering by default requires exporting a React function component without server-side data fetching.
Step 2: Analyze options
export default function Page() { return
Hello } exports a simple functional component, which Next.js statically renders by default. export async function getServerSideProps() { return { props: {} } } uses server-side props, which disables static rendering. export default class Page extends React.Component {} uses a class component, which is discouraged. export function getStaticProps() { return { props: {} } } exports getStaticProps but not default component, so incomplete.
Final Answer:
export default function Page() { return <div>Hello</div> } -> Option C
Quick Check:
Default export function = static page [OK]
Hint: Static pages export default function only [OK]
Common Mistakes:
Using getServerSideProps disables static rendering
Using class components instead of functions
Not exporting a default component
3. Given this Next.js page code, what will be the output when visiting the page?
export default function Page() {
return <h1>Welcome to Next.js!</h1>
}
medium
A. A page showing 'Welcome to Next.js!' rendered statically
B. A server error because no data fetching is defined
C. A blank page because no getStaticProps is used
D. A client-side rendered page only
Solution
Step 1: Check the component structure
The component is a simple function returning an <h1> element with text.
Step 2: Understand default rendering behavior
Without data fetching methods, Next.js statically renders this page at build time.
Final Answer:
A page showing 'Welcome to Next.js!' rendered statically -> Option A
Quick Check:
Simple function component = static render [OK]
Hint: No data fetching means static render by default [OK]
Common Mistakes:
Expecting runtime errors without data fetching
Thinking getStaticProps is always required
Confusing static with client-side rendering
4. Identify the error in this Next.js page that prevents static rendering:
export default function Page() {
const data = fetch('https://api.example.com/data')
return <div>{data.title}</div>
}
medium
A. fetch is used inside the component without async/await
B. Static rendering requires getStaticProps for data fetching
C. Using fetch disables static rendering automatically
D. The component must be a class to fetch data
Solution
Step 1: Analyze data fetching in component
The component calls fetch directly inside the function without async/await or data fetching methods.
Step 2: Recall static rendering data rules
Static rendering requires data fetching outside the component using getStaticProps to fetch data at build time.
Final Answer:
Static rendering requires getStaticProps for data fetching -> Option B
Quick Check:
Data fetching for static = getStaticProps [OK]
Hint: Use getStaticProps for build-time data fetch [OK]
Common Mistakes:
Calling fetch inside component without async
Assuming fetch disables static rendering
Thinking class components are required
5. You want to build a blog with mostly fixed posts but occasionally update some posts. How should you use static rendering in Next.js to handle this efficiently?
hard
A. Use client-side rendering to fetch posts on every visit
B. Use only server-side rendering for all posts
C. Build static pages once and never update them
D. Use static rendering with getStaticProps and enable incremental static regeneration
Solution
Step 1: Understand blog content update needs
Most posts are fixed, but some need occasional updates without full rebuilds.
Step 2: Identify Next.js feature for this case
Incremental Static Regeneration (ISR) allows static pages to update after build time on demand.
Step 3: Match option with ISR usage
Use static rendering with getStaticProps and enable incremental static regeneration uses getStaticProps with ISR, enabling static rendering plus updates efficiently.
Final Answer:
Use static rendering with getStaticProps and enable incremental static regeneration -> Option D
Quick Check:
ISR + getStaticProps = static + updates [OK]
Hint: Use ISR to update static pages without full rebuilds [OK]
Common Mistakes:
Choosing server-side rendering for mostly fixed content