---
title: "Discussion on \"Modern Next.js: Routing, Layouts, Server Components, API Routes & Server Actions\" | Hashnode"
description: "Discussion on \"Modern Next.js: Routing, Layouts, Server Components, API Routes & Server Actions\". Learn modern Next.js architecture with App Router, routing, layouts, Server and Client Components, API Routes, Server Actions, authentication, etc."
url: "https://hashnode.com/posts/modern-next-js-routing-layouts-server-components-api-routes-server-actions/6a95b78f9ceb3b1478d08987"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Modern Next.js: Routing, Layouts, Server Components, API Routes & Server Actions](https://techwithsiddhant.hashnode.dev/modern-next-js-routing-layouts-server-components-api-routes-server-actions?utm_source=hashnode&utm_medium=feed)

Learn modern Next.js architecture with App Router, routing, layouts, Server and Client Components, API Routes, Server Actions, authentication, etc.

Aug 31 · 16 min read · techwithsiddhant.hashnode.dev  
Read the article

-   [#chaicode](https://hashnode.com/tag/chaicode)
-   [#chaiaurcode](https://hashnode.com/tag/chaiaurcode)
-   [#chaicohort](https://hashnode.com/tag/chaicohort)
-   [#chaicode-webdev-cohort-2026](https://hashnode.com/tag/chaicode-webdev-cohort-2026)
-   [#chai-code](https://hashnode.com/tag/chai-code)
-   [#hiteshchoudharylco](https://hashnode.com/tag/hiteshchoudharylco)
-   [#piyushgarg](https://hashnode.com/tag/piyushgarg)
-   [#web-development](https://hashnode.com/tag/web-development)
-   [#reactjs](https://hashnode.com/tag/reactjs)
-   [#nextjs](https://hashnode.com/tag/nextjs)
-   [#routing](https://hashnode.com/tag/routing)

## Written by

[Siddhant Gorte](https://hashnode.com/@siddhantgorte)

@siddhantgorte · Mumbai

  
[View profile](https://hashnode.com/@siddhantgorte)

Full-stack, AI and cybersecurity - my tech playground

## Responses 1

Markdown supported · ⌘↵ to post

[Tarun Sharma](https://hashnode.com/@101beardo)

[Sep 1](https://hashnode.com/posts/modern-next-js-routing-layouts-server-components-api-routes-server-actions/6a95b78f9ceb3b1478d08987/comment/6a96d7ba025dea651052f03e)

Good overview. Two things I'd sharpen:

'use client' marks a boundary, not a subtree. Every module imported into a 'use client' file becomes client too, but you can still pass a server component down through it as children or a prop and it stays on the server. That distinction is what actually decides how much JS ships, and it's the part most people get wrong.

The caching section reads like Next 14. In 15 the default flipped, fetch is uncached unless you opt in, so the "watch out for stale data" framing is now inverted. The more common bug on 15 is refetching on every request because someone expected the old caching to still be there. Worth pinning a version since the behavior is opposite depending on which one you're on.
