React / Next.js

āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ° API

fetch API, axios, async/await, āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”, āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ‚āļŦāļĨāļ”, abort controllers

20 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Mid-Level
1

āđ€āļĄāļ˜āļ­āļ” fetch() āļ„āļ·āļ™āļ„āđˆāļēāļ­āļ°āđ„āļĢāđ€āļĄāļ·āđˆāļ­āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰?

āļ„āļģāļ•āļ­āļš

fetch() āļ„āļ·āļ™āļ„āđˆāļē Promise āļ—āļĩāđˆ resolve āļ”āđ‰āļ§āļĒāļ­āđ‡āļ­āļšāđ€āļˆāļāļ•āđŒ Response āļ•āđˆāļēāļ‡āļˆāļēāļ axios āļ•āļĢāļ‡āļ—āļĩāđˆ fetch āļˆāļ°āđ„āļĄāđˆ reject āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” HTTP (āđ€āļŠāđˆāļ™ 404 āļŦāļĢāļ·āļ­ 500) āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļ”āļąāļ‡āļ™āļąāđ‰āļ™āļˆāļķāļ‡āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļš response.ok āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ° parse āļ‚āđ‰āļ­āļĄāļđāļĨ āļ§āļīāļ˜āļĩāļ™āļĩāđ‰āđƒāļŦāđ‰āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđ„āļ”āđ‰āļĄāļēāļāļ‚āļķāđ‰āļ™ āđāļ•āđˆāļ•āđ‰āļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļ­āļĒāđˆāļēāļ‡āļŠāļąāļ”āđ€āļˆāļ™

2

āļˆāļ°āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ JSON āļˆāļēāļāļ­āđ‡āļ­āļšāđ€āļˆāļāļ•āđŒ Response āļ—āļĩāđˆāđ„āļ”āđ‰āļˆāļēāļ fetch() āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

āļ­āđ‡āļ­āļšāđ€āļˆāļāļ•āđŒ Response āļĄāļĩāđ€āļĄāļ˜āļ­āļ” json() āļ—āļĩāđˆāļ„āļ·āļ™āļ„āđˆāļē Promise āļ‹āļķāđˆāļ‡ resolve āļ”āđ‰āļ§āļĒāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆ parse āđāļĨāđ‰āļ§ āđ€āļĄāļ˜āļ­āļ”āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āđāļšāļš asynchronous āđ€āļžāļĢāļēāļ°āļ­āđˆāļēāļ™ body āļ‚āļ­āļ‡ response āđāļšāļšāļ„āđˆāļ­āļĒāđ€āļ›āđ‡āļ™āļ„āđˆāļ­āļĒāđ„āļ› āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāļ„āļ·āļ­āļ•āđ‰āļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļš response.ok āļāđˆāļ­āļ™āđ€āļĢāļĩāļĒāļ json() āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļē request āļŠāļģāđ€āļĢāđ‡āļˆ

3

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđƒāļ”āļ‚āļ­āļ‡āļ­āđ‡āļ­āļšāđ€āļˆāļāļ•āđŒ Response āļ—āļĩāđˆāđƒāļŠāđ‰āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē HTTP request āļŠāļģāđ€āļĢāđ‡āļˆāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?

āļ„āļģāļ•āļ­āļš

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļī response.ok āļˆāļ°āļ„āļ·āļ™āļ„āđˆāļē true āļŦāļēāļāļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ° HTTP āļ­āļĒāļđāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡ 200 āļ–āļķāļ‡ 299 āļ‹āļķāđˆāļ‡āļšāđˆāļ‡āļšāļ­āļāļ§āđˆāļē response āļŠāļģāđ€āļĢāđ‡āļˆ āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ™āļĩāđ‰āļŠāļģāļ„āļąāļāđ€āļžāļĢāļēāļ° fetch() āđ„āļĄāđˆ reject āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” HTTP āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļ•āđˆāļēāļ‡āļˆāļēāļ axios āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš response.ok āļāđˆāļ­āļ™āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™ best practice āđ€āļžāļ·āđˆāļ­āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡āļāļēāļĢ parse response āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”

4

āļ„āļĩāļĒāđŒāđ€āļ§āļīāļĢāđŒāļ”āđƒāļ”āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļĢāļ­āļāļēāļĢ resolve āļ‚āļ­āļ‡ Promise āđāļšāļš synchronous āđƒāļ™āļŸāļąāļ‡āļāđŒāļŠāļąāļ™ async?

5

āđ€āļĄāļ˜āļ­āļ”āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āļ„āļ§āļĢāļ–āļđāļāđ€āļĢāļĩāļĒāļāļ•āļēāļĄāļĨāļģāļ”āļąāļšāđƒāļ”āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ fetch(): json(), then(), catch()?

+17 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ React / Next.js āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ JavaScript

Junior
25 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ React

Junior
20 āļ„āļģāļ–āļēāļĄ

React Hooks

Junior
22 āļ„āļģāļ–āļēāļĄ

āļ§āļ‡āļˆāļĢāļŠāļĩāļ§āļīāļ•āļ‚āļ­āļ‡ component

Junior
18 āļ„āļģāļ–āļēāļĄ

React Router

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ state āļ”āđ‰āļ§āļĒ Context

Junior
18 āļ„āļģāļ–āļēāļĄ

āļŸāļ­āļĢāđŒāļĄāđāļĨāļ° Controlled Components

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

React Query (TanStack Query)

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Styling & CSS-in-JS

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Next.js

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

TypeScript āļāļąāļš React

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ Next.js

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

Server Actions āļ‚āļ­āļ‡ Next.js

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļāļģāļŦāļ™āļ”āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđāļĨāļ°āļāļēāļĢāļ™āļģāļ—āļēāļ‡āđƒāļ™ Next.js

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

API Routes āđƒāļ™ Next.js

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Metadata & SEO āđƒāļ™ Next.js

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Middleware āđāļĨāļ° Auth āđƒāļ™ Next.js

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļš React

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Zustand State Management

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž React

Senior
22 āļ„āļģāļ–āļēāļĄ

Error Boundaries & āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”

Senior
18 āļ„āļģāļ–āļēāļĄ

Advanced React Patterns

Senior
20 āļ„āļģāļ–āļēāļĄ

āļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļąāđ‰āļ™āļŠāļđāļ‡āļ‚āļ­āļ‡ Next.js

Senior
24 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢ Deploy & Production āļ‚āļ­āļ‡ Next.js

Senior
20 āļ„āļģāļ–āļēāļĄ

Architecture & Design Patterns

Senior
22 āļ„āļģāļ–āļēāļĄ

React Server Components

Senior
26 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđāļ›āļĨāļ āļēāļĐāļē Next.js

Senior
20 āļ„āļģāļ–āļēāļĄ

React āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒ & āđāļ™āļ§āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”

Senior
22 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ React / Next.js āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ