Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

React & Tailwind Complete Reference Guide Banner

πŸ“š React & Tailwind CSS Complete Reference Guide

A complete React & Tailwind CSS reference built from real sessions - covering everything from core concepts and hooks to state management, performance optimization, and utility-first styling. Designed for developers who want depth, not just syntax.

License


πŸ‘‹ About

Hi, I'm Eng. Diaa Elseady, a Full Stack Developer specializing in:

  • React.js
  • Next.js
  • Node.js
  • Express.js
  • NestJS
  • MongoDB
  • TypeScript

This is the second reference in the series - following the JavaScript & Bootstrap Complete Reference Guide.

It covers React from the ground up through advanced patterns, state management approaches, and Tailwind CSS - all written from scratch, structured from real sessions, and designed to be the only resource you need.


✨ Features

  • πŸ“– Progressive learning path from fundamentals to advanced
  • πŸ’» Real code examples from actual projects
  • 🎯 Interview-focused explanations on every major topic
  • ⚑ Covers React 19 features and the React Compiler
  • 🧠 Deep dives into performance, state management, and auth patterns
  • πŸ”₯ Best practices and common pitfalls
  • 🎨 Complete Tailwind CSS utility-first workflow
  • πŸš€ Beginner-friendly structure, senior-level depth

πŸ“š Sessions

# Session Level Status
01 Foundations & Core Concepts 🟒 Beginner βœ…
02 Virtual DOM, Lifecycle & Routing 🟑 Intermediate βœ…
03 Forms, Validation & UI Libraries 🟑 Intermediate βœ…
04 Browser Storage, Auth & Protected Routes πŸ”΅ Advanced βœ…
05 Custom Hooks, Performance & SEO πŸ”΅ Advanced βœ…
06 State Management πŸ”΄ Advanced βœ…
07 Tailwind CSS 🟒 From Zero To Hero βœ…

πŸ“– Topics Covered

Click to Expand

Session 01 - Foundations & Core Concepts

  • SOLID Principles
  • Imperative vs Declarative
  • Array Methods (map, filter, reduce, find, forEach)
  • MPA vs SPA
  • Why Use a Framework
  • How React Works
  • JSX & JSX Rules
  • React Fragments
  • Props & Destructuring
  • Images in React
  • Hooks Overview
  • useState

Session 02 - Virtual DOM, Lifecycle & Routing

  • Virtual DOM & Reconciliation
  • Why List Items Need Keys
  • Component Lifecycle (Mount, Update, Unmount)
  • useEffect & its 3 Modes
  • useRef
  • React Router DOM
  • Link, NavLink, useNavigate
  • Nested Routing & Outlet
  • Dynamic Routing & useParams
  • Layout Components
  • Axios (GET, POST, PUT, PATCH, DELETE)
  • Axios Instance & Interceptors
  • CSS Modules

Session 03 - Forms, Validation & UI Libraries

  • UI Component Libraries Overview (HeroUI, shadcn/ui, DaisyUI, Flowbite)
  • Controlled Components
  • Uncontrolled Components
  • Controlled vs Uncontrolled (Interview Question)
  • React Hook Form
  • isSubmitting, isDirty, isValid, reset, watch, getValues, setValue
  • Zod Schema Validation
  • optional(), nullable(), safeParse(), refine()
  • Connecting Zod with React Hook Form

Session 04 - Browser Storage, Auth & Protected Routes

  • Local Storage vs Session Storage vs Cookies
  • HTTP Only Cookies vs Browser Cookies
  • JWT Tokens & Authentication Flow
  • Where to Store Tokens (XSS vs CSRF)
  • Children Prop
  • Protected Routes (useEffect approach vs correct approach)
  • AppProtectedRoutes & AuthProtectedRoutes
  • Connecting Token to Axios Interceptors

Session 05 - Custom Hooks, Performance & SEO

  • Custom Hooks (useFetch, useLocalStorage, useDebounce)
  • useReducer
  • action.payload
  • Shopping Cart with useReducer
  • React.memo
  • useMemo
  • useCallback
  • memo + useMemo + useCallback Summary
  • React Compiler (React 19)
  • SEO in React (react-helmet-async)
  • Detecting Offline Status

Session 06 - State Management

  • Props Drilling Problem
  • React Context (createContext, useContext, Provider)
  • useReducer with Context
  • Context Performance Problem & Context Splitting
  • TanStack Query (React Query)
  • useQuery, useMutation, QueryClient
  • Stale Time, Cache Time, Refetch Behavior
  • Redux Toolkit
  • configureStore, createSlice, useSelector, useDispatch
  • createAsyncThunk
  • RTK Query
  • createApi, builder.query, builder.mutation
  • Cache Invalidation with Tags
  • When to Use Each Tool

Session 07 - Tailwind CSS

  • What is Tailwind & Utility-First Approach
  • Installation with Vite & React
  • CSS Layers (@layer base, components, utilities)
  • Responsive Design & Breakpoints
  • Dark Mode
  • Custom Values & Theme Configuration
  • Flexbox & Grid Utilities
  • Typography, Spacing, Colors
  • Pseudo-classes (hover, focus, active, group, peer)
  • Animations & Transitions
  • Arbitrary Values

πŸ’‘ Interview Questions Covered

  • React vs Vanilla JS β€” Why use a framework?
  • Imperative vs Declarative β€” Which one is React and why?
  • What is the Virtual DOM and how does it work?
  • What is Reconciliation?
  • Why does every list item need a key?
  • What are the 3 phases of a component's lifecycle?
  • What is the difference between useRef and useState?
  • Controlled vs Uncontrolled Components
  • What is Props Drilling and how do you solve it?
  • Where should you store auth tokens and why? (XSS vs CSRF)
  • What is the flash of wrong content bug in Protected Routes?
  • What is the difference between useMemo and useCallback?
  • When do you use useReducer instead of useState?
  • What is Context's performance problem and how do you fix it?
  • When do you use TanStack Query vs Redux Toolkit?
  • createAsyncThunk vs RTK Query β€” when to use each?

🎯 Who Is This Guide For?

βœ… Beginners picking up React for the first time

βœ… Junior developers preparing for interviews

βœ… Mid-level developers looking to fill gaps

βœ… Senior developers

βœ… Anyone who already knows JavaScript and wants a structured React path


πŸš€ How to Use

  1. Read the sessions in order - each one builds on the previous.
  2. Type every code example yourself, don't copy-paste.
  3. For each hook or pattern, ask yourself: when would I actually use this?
  4. Review the interview questions at the end of each session.
  5. Come back to Session 06 (State Management) after building at least one project.

πŸ“‚ Repository Structure

πŸ“¦ react-tailwind-complete-reference-guide

β”œβ”€β”€ assets/
β”‚   └── banner.png
β”‚
β”œβ”€β”€ sessions/
β”‚   β”œβ”€β”€ session-01-foundations.md
β”‚   β”œβ”€β”€ session-02-vdom-lifecycle-routing.md
β”‚   β”œβ”€β”€ session-03-forms-validation.md
β”‚   β”œβ”€β”€ session-04-storage-auth.md
β”‚   β”œβ”€β”€ session-05-custom-hooks-performance.md
β”‚   β”œβ”€β”€ session-06-state-management.md
β”‚   └── session-07-tailwind.md
β”‚
└── README.md

πŸ“ˆ Roadmap


🀝 Contributing

Contributions are always welcome!

If you'd like to improve this guide:

  1. Fork the repository.
  2. Create a new branch.
  3. Commit your changes.
  4. Open a Pull Request.

πŸ“„ License

This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0).

In simple terms:

  • βœ… You can view, download, and share this guide freely
  • βœ… You must give credit to the author (Eng. Diaa Elseady)
  • ❌ You cannot use this guide for commercial purposes
  • ❌ You cannot modify or distribute modified versions

For full license details, see the LICENSE file.


⭐ Support

If you found this repository useful, please consider giving it a ⭐ Star.

It helps the guide reach more developers and motivates me to keep building free references for the community.


🌐 Connect With Me


❀️ Happy Coding!

Made with passion by Eng. Diaa Elseady

About

πŸ“š Complete React & Tailwind CSS Reference Guide - 7 Sessions covering React from Zero to Hero

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors