Next JS - rs-hash/Learning GitHub Wiki
-
Framework for building fast and SEO friendly applications
-
Framework - Libs + tools + conventions
-
It has compiler - transform & minify JS Code
-
CLI - build & start app
-
Node.js - Execute JS code
-
Routing in Next.js is based on File system ( create any folder - with page.tsx )
import Link from "next/link"
<Link href="/users">MyLink </Link>-
can render components in Client(browser) or server(nodejs) environment
-
client side rendering - large bundle, resource intensive, no SEO, less secure
-
server side rendering - small bundle, SEO, more secure
-
server components cannot listen to browser events, access browser api, maintain state, useEffect
-
All components are server components by default unless we add
"use client" -
To fetch data on client -> useState, useEffect,
-
data is cached on filesystem by default
-
to disable cache -
fetch("API", {cache: 'no-store'})-fetch("API", {next: {revalidate:10}}) -
Static site generation - static rendering - Renders at build time
-
Dynamic Rendering - Renders at request time ( disable caching )
-
Rendering -> Client side / server side
-
Server side Rendering -> Static ( at build time ) / Dynamic ( at request time )
- ** padding** - p-[number], px-[number], py-[number]
- ** margin** - m-[number], mx-[number], my-[number]
- ** text-xl, text-sm **
- ** text-center**