Repository files navigation

React - Complete Guide

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Introduction

Learn React with this complete guide by starting from the basics and advancing to advanced concepts, including building multiple demo apps. Develop a fullstack application with NextJS and gain a deep understanding of React Hooks, Components, and efficient State Management using Context API and Redux. Learn how to create standalone React apps as well as those connected to a backend via HTTP. Dive into routing with React Router, implement User Authentication, and explore additional concepts like Styling, Animations, Form Handling, TypeScript, and more along the way.

How to Use this Repository

The repository is divided into two main sections: Summary and Core Features. The Summary section features a demo application showcasing key aspects of React, including Components, State Management, Routing, and HTTP requests. The Core Features section consists of several smaller demo projects, each focusing on a specific topic such as Styling, Effects, Forms, and even Redux and Next.js.

To explore the Summary project, check the core-features folder. For the other examples, visit complete-path. The complete list of projects can be find below.

Getting Started
To use the projects in this repository, Node.js needs to be installed on the system. Refer to the official documentation for installation instructions. If asdf is being used, Node.js can also be installed via the .tool-versions file. More information on this is available here.

Once Node.js is installed, follow these steps to start an application:

git clone https://github.com/ThomasCode92/react-complete-guide.git
cd react-complete-guide # navigate into project folder## choose a project, e.g.: 'react-essentials`cd complete-path/react-essentials # navigate to project
npm install # install dependencies
npm run dev # start development server

A lot of node_modules folders are likely to be created. To remove them, run the npm run cleanup command, which recursively deletes all node_modules folders.

Complete list of Core Features

Click of Core Features
ModuleDescriptionResources
React EssentialsBasics of Components, JSX & StateFolder - GitHub
React Essentials - Deep DiveBeyond the BasicsFolder - GitHub
React Essentials - Practice ProjectApply Knowledge & Practice ConceptsFolder - GitHub
Styling React AppsStatic & Dynamic Styling for Pretty AppsFolder - GitHub
Refs & PortalsAdvanced DOM Access & Value ManagementFolder - GitHub
Practice Project: Advanced ConceptsWorking with Components, State, Styling, Refs & PortalsFolder - GitHub
Advanced State ManagementBeyond Basic Apps & β€œLifting Up State”Folder - GitHub
Dealing with Side EffectsKeeping the UI SynchronizedFolder - GitHub
Practice Project: Working with EffectsWorking with EffectsPractice & Dive DeeperFolder - GitHub
Behind The ScenesUnderstanding & Optimizing ReactFolder - GitHub
Data Fetching & HTTP RequestsSending & Receiving Data via HTTPFolder - GitHub
Custom HooksCreating & Using Custom React HooksFolder - GitHub
Working with Forms & User InputIt’s Trickier Than It Might SeemFolder - GitHub
Time To Practice: Food Order AppComponents, State, Context, Effects, HTTP Requests & More!Folder - GitHub
Understanding ReduxManaging App-Wide State with ReduxFolder - GitHub
Redux Deep DiveTaking a Closer LookFolder - GitHub
Single-Page Application RoutingMultiple Pages In Single-Page AppsFolder - GitHub
AuthenticationUser Signup & LoginFolder - GitHub
Data Fetching with Tanstack QuerySending HTTP Requests with EaseFolder - Github
Animating React AppsUsing Framer Motion to Bring Things to LifeFolder - GitHub
Replacing Redux with Context & HooksA Totally Optional of Reducing DependenciesFolder - GitHub
Introduction to Next.jsBuilding Up On ReactFolder - GitHub
Patterns & Best PracticesExploring Advanced React Patterns & Repeating Key Best PracticesFolder - GitHub

About

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

React - Complete Guide

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Introduction

Learn React with this complete guide by starting from the basics and advancing to advanced concepts, including building multiple demo apps. Develop a fullstack application with NextJS and gain a deep understanding of React Hooks, Components, and efficient State Management using Context API and Redux. Learn how to create standalone React apps as well as those connected to a backend via HTTP. Dive into routing with React Router, implement User Authentication, and explore additional concepts like Styling, Animations, Form Handling, TypeScript, and more along the way.

How to Use this Repository

The repository is divided into two main sections: Summary and Core Features. The Summary section features a demo application showcasing key aspects of React, including Components, State Management, Routing, and HTTP requests. The Core Features section consists of several smaller demo projects, each focusing on a specific topic such as Styling, Effects, Forms, and even Redux and Next.js.

To explore the Summary project, check the core-features folder. For the other examples, visit complete-path. The complete list of projects can be find below.

Getting Started
To use the projects in this repository, Node.js needs to be installed on the system. Refer to the official documentation for installation instructions. If asdf is being used, Node.js can also be installed via the .tool-versions file. More information on this is available here.

Once Node.js is installed, follow these steps to start an application:

git clone https://github.com/ThomasCode92/react-complete-guide.git
cd react-complete-guide # navigate into project folder## choose a project, e.g.: 'react-essentials`cd complete-path/react-essentials # navigate to project
npm install # install dependencies
npm run dev # start development server

A lot of node_modules folders are likely to be created. To remove them, run the npm run cleanup command, which recursively deletes all node_modules folders.

Complete list of Core Features

Click of Core Features
ModuleDescriptionResources
React EssentialsBasics of Components, JSX & StateFolder - GitHub
React Essentials - Deep DiveBeyond the BasicsFolder - GitHub
React Essentials - Practice ProjectApply Knowledge & Practice ConceptsFolder - GitHub
Styling React AppsStatic & Dynamic Styling for Pretty AppsFolder - GitHub
Refs & PortalsAdvanced DOM Access & Value ManagementFolder - GitHub
Practice Project: Advanced ConceptsWorking with Components, State, Styling, Refs & PortalsFolder - GitHub
Advanced State ManagementBeyond Basic Apps & β€œLifting Up State”Folder - GitHub
Dealing with Side EffectsKeeping the UI SynchronizedFolder - GitHub
Practice Project: Working with EffectsWorking with EffectsPractice & Dive DeeperFolder - GitHub
Behind The ScenesUnderstanding & Optimizing ReactFolder - GitHub
Data Fetching & HTTP RequestsSending & Receiving Data via HTTPFolder - GitHub
Custom HooksCreating & Using Custom React HooksFolder - GitHub
Working with Forms & User InputIt’s Trickier Than It Might SeemFolder - GitHub
Time To Practice: Food Order AppComponents, State, Context, Effects, HTTP Requests & More!Folder - GitHub
Understanding ReduxManaging App-Wide State with ReduxFolder - GitHub
Redux Deep DiveTaking a Closer LookFolder - GitHub
Single-Page Application RoutingMultiple Pages In Single-Page AppsFolder - GitHub
AuthenticationUser Signup & LoginFolder - GitHub
Data Fetching with Tanstack QuerySending HTTP Requests with EaseFolder - Github
Animating React AppsUsing Framer Motion to Bring Things to LifeFolder - GitHub
Replacing Redux with Context & HooksA Totally Optional of Reducing DependenciesFolder - GitHub
Introduction to Next.jsBuilding Up On ReactFolder - GitHub
Patterns & Best PracticesExploring Advanced React Patterns & Repeating Key Best PracticesFolder - GitHub

About

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

React - Complete Guide

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Introduction

Learn React with this complete guide by starting from the basics and advancing to advanced concepts, including building multiple demo apps. Develop a fullstack application with NextJS and gain a deep understanding of React Hooks, Components, and efficient State Management using Context API and Redux. Learn how to create standalone React apps as well as those connected to a backend via HTTP. Dive into routing with React Router, implement User Authentication, and explore additional concepts like Styling, Animations, Form Handling, TypeScript, and more along the way.

How to Use this Repository

The repository is divided into two main sections: Summary and Core Features. The Summary section features a demo application showcasing key aspects of React, including Components, State Management, Routing, and HTTP requests. The Core Features section consists of several smaller demo projects, each focusing on a specific topic such as Styling, Effects, Forms, and even Redux and Next.js.

To explore the Summary project, check the core-features folder. For the other examples, visit complete-path. The complete list of projects can be find below.

Getting Started
To use the projects in this repository, Node.js needs to be installed on the system. Refer to the official documentation for installation instructions. If asdf is being used, Node.js can also be installed via the .tool-versions file. More information on this is available here.

Once Node.js is installed, follow these steps to start an application:

git clone https://github.com/ThomasCode92/react-complete-guide.git
cd react-complete-guide # navigate into project folder## choose a project, e.g.: 'react-essentials`cd complete-path/react-essentials # navigate to project
npm install # install dependencies
npm run dev # start development server

A lot of node_modules folders are likely to be created. To remove them, run the npm run cleanup command, which recursively deletes all node_modules folders.

Complete list of Core Features

Click of Core Features
ModuleDescriptionResources
React EssentialsBasics of Components, JSX & StateFolder - GitHub
React Essentials - Deep DiveBeyond the BasicsFolder - GitHub
React Essentials - Practice ProjectApply Knowledge & Practice ConceptsFolder - GitHub
Styling React AppsStatic & Dynamic Styling for Pretty AppsFolder - GitHub
Refs & PortalsAdvanced DOM Access & Value ManagementFolder - GitHub
Practice Project: Advanced ConceptsWorking with Components, State, Styling, Refs & PortalsFolder - GitHub
Advanced State ManagementBeyond Basic Apps & β€œLifting Up State”Folder - GitHub
Dealing with Side EffectsKeeping the UI SynchronizedFolder - GitHub
Practice Project: Working with EffectsWorking with EffectsPractice & Dive DeeperFolder - GitHub
Behind The ScenesUnderstanding & Optimizing ReactFolder - GitHub
Data Fetching & HTTP RequestsSending & Receiving Data via HTTPFolder - GitHub
Custom HooksCreating & Using Custom React HooksFolder - GitHub
Working with Forms & User InputIt’s Trickier Than It Might SeemFolder - GitHub
Time To Practice: Food Order AppComponents, State, Context, Effects, HTTP Requests & More!Folder - GitHub
Understanding ReduxManaging App-Wide State with ReduxFolder - GitHub
Redux Deep DiveTaking a Closer LookFolder - GitHub
Single-Page Application RoutingMultiple Pages In Single-Page AppsFolder - GitHub
AuthenticationUser Signup & LoginFolder - GitHub
Data Fetching with Tanstack QuerySending HTTP Requests with EaseFolder - Github
Animating React AppsUsing Framer Motion to Bring Things to LifeFolder - GitHub
Replacing Redux with Context & HooksA Totally Optional of Reducing DependenciesFolder - GitHub
Introduction to Next.jsBuilding Up On ReactFolder - GitHub
Patterns & Best PracticesExploring Advanced React Patterns & Repeating Key Best PracticesFolder - GitHub

About

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

React - Complete Guide

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Introduction

Learn React with this complete guide by starting from the basics and advancing to advanced concepts, including building multiple demo apps. Develop a fullstack application with NextJS and gain a deep understanding of React Hooks, Components, and efficient State Management using Context API and Redux. Learn how to create standalone React apps as well as those connected to a backend via HTTP. Dive into routing with React Router, implement User Authentication, and explore additional concepts like Styling, Animations, Form Handling, TypeScript, and more along the way.

How to Use this Repository

The repository is divided into two main sections: Summary and Core Features. The Summary section features a demo application showcasing key aspects of React, including Components, State Management, Routing, and HTTP requests. The Core Features section consists of several smaller demo projects, each focusing on a specific topic such as Styling, Effects, Forms, and even Redux and Next.js.

To explore the Summary project, check the core-features folder. For the other examples, visit complete-path. The complete list of projects can be find below.

Getting Started
To use the projects in this repository, Node.js needs to be installed on the system. Refer to the official documentation for installation instructions. If asdf is being used, Node.js can also be installed via the .tool-versions file. More information on this is available here.

Once Node.js is installed, follow these steps to start an application:

git clone https://github.com/ThomasCode92/react-complete-guide.git
cd react-complete-guide # navigate into project folder## choose a project, e.g.: 'react-essentials`cd complete-path/react-essentials # navigate to project
npm install # install dependencies
npm run dev # start development server

A lot of node_modules folders are likely to be created. To remove them, run the npm run cleanup command, which recursively deletes all node_modules folders.

Complete list of Core Features

Click of Core Features
ModuleDescriptionResources
React EssentialsBasics of Components, JSX & StateFolder - GitHub
React Essentials - Deep DiveBeyond the BasicsFolder - GitHub
React Essentials - Practice ProjectApply Knowledge & Practice ConceptsFolder - GitHub
Styling React AppsStatic & Dynamic Styling for Pretty AppsFolder - GitHub
Refs & PortalsAdvanced DOM Access & Value ManagementFolder - GitHub
Practice Project: Advanced ConceptsWorking with Components, State, Styling, Refs & PortalsFolder - GitHub
Advanced State ManagementBeyond Basic Apps & β€œLifting Up State”Folder - GitHub
Dealing with Side EffectsKeeping the UI SynchronizedFolder - GitHub
Practice Project: Working with EffectsWorking with EffectsPractice & Dive DeeperFolder - GitHub
Behind The ScenesUnderstanding & Optimizing ReactFolder - GitHub
Data Fetching & HTTP RequestsSending & Receiving Data via HTTPFolder - GitHub
Custom HooksCreating & Using Custom React HooksFolder - GitHub
Working with Forms & User InputIt’s Trickier Than It Might SeemFolder - GitHub
Time To Practice: Food Order AppComponents, State, Context, Effects, HTTP Requests & More!Folder - GitHub
Understanding ReduxManaging App-Wide State with ReduxFolder - GitHub
Redux Deep DiveTaking a Closer LookFolder - GitHub
Single-Page Application RoutingMultiple Pages In Single-Page AppsFolder - GitHub
AuthenticationUser Signup & LoginFolder - GitHub
Data Fetching with Tanstack QuerySending HTTP Requests with EaseFolder - Github
Animating React AppsUsing Framer Motion to Bring Things to LifeFolder - GitHub
Replacing Redux with Context & HooksA Totally Optional of Reducing DependenciesFolder - GitHub
Introduction to Next.jsBuilding Up On ReactFolder - GitHub
Patterns & Best PracticesExploring Advanced React Patterns & Repeating Key Best PracticesFolder - GitHub

About

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

React - Complete Guide

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Introduction

Learn React with this complete guide by starting from the basics and advancing to advanced concepts, including building multiple demo apps. Develop a fullstack application with NextJS and gain a deep understanding of React Hooks, Components, and efficient State Management using Context API and Redux. Learn how to create standalone React apps as well as those connected to a backend via HTTP. Dive into routing with React Router, implement User Authentication, and explore additional concepts like Styling, Animations, Form Handling, TypeScript, and more along the way.

How to Use this Repository

The repository is divided into two main sections: Summary and Core Features. The Summary section features a demo application showcasing key aspects of React, including Components, State Management, Routing, and HTTP requests. The Core Features section consists of several smaller demo projects, each focusing on a specific topic such as Styling, Effects, Forms, and even Redux and Next.js.

To explore the Summary project, check the core-features folder. For the other examples, visit complete-path. The complete list of projects can be find below.

Getting Started
To use the projects in this repository, Node.js needs to be installed on the system. Refer to the official documentation for installation instructions. If asdf is being used, Node.js can also be installed via the .tool-versions file. More information on this is available here.

Once Node.js is installed, follow these steps to start an application:

git clone https://github.com/ThomasCode92/react-complete-guide.git
cd react-complete-guide # navigate into project folder## choose a project, e.g.: 'react-essentials`cd complete-path/react-essentials # navigate to project
npm install # install dependencies
npm run dev # start development server

A lot of node_modules folders are likely to be created. To remove them, run the npm run cleanup command, which recursively deletes all node_modules folders.

Complete list of Core Features

Click of Core Features
ModuleDescriptionResources
React EssentialsBasics of Components, JSX & StateFolder - GitHub
React Essentials - Deep DiveBeyond the BasicsFolder - GitHub
React Essentials - Practice ProjectApply Knowledge & Practice ConceptsFolder - GitHub
Styling React AppsStatic & Dynamic Styling for Pretty AppsFolder - GitHub
Refs & PortalsAdvanced DOM Access & Value ManagementFolder - GitHub
Practice Project: Advanced ConceptsWorking with Components, State, Styling, Refs & PortalsFolder - GitHub
Advanced State ManagementBeyond Basic Apps & β€œLifting Up State”Folder - GitHub
Dealing with Side EffectsKeeping the UI SynchronizedFolder - GitHub
Practice Project: Working with EffectsWorking with EffectsPractice & Dive DeeperFolder - GitHub
Behind The ScenesUnderstanding & Optimizing ReactFolder - GitHub
Data Fetching & HTTP RequestsSending & Receiving Data via HTTPFolder - GitHub
Custom HooksCreating & Using Custom React HooksFolder - GitHub
Working with Forms & User InputIt’s Trickier Than It Might SeemFolder - GitHub
Time To Practice: Food Order AppComponents, State, Context, Effects, HTTP Requests & More!Folder - GitHub
Understanding ReduxManaging App-Wide State with ReduxFolder - GitHub
Redux Deep DiveTaking a Closer LookFolder - GitHub
Single-Page Application RoutingMultiple Pages In Single-Page AppsFolder - GitHub
AuthenticationUser Signup & LoginFolder - GitHub
Data Fetching with Tanstack QuerySending HTTP Requests with EaseFolder - Github
Animating React AppsUsing Framer Motion to Bring Things to LifeFolder - GitHub
Replacing Redux with Context & HooksA Totally Optional of Reducing DependenciesFolder - GitHub
Introduction to Next.jsBuilding Up On ReactFolder - GitHub
Patterns & Best PracticesExploring Advanced React Patterns & Repeating Key Best PracticesFolder - GitHub

About

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

React - Complete Guide

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Introduction

Learn React with this complete guide by starting from the basics and advancing to advanced concepts, including building multiple demo apps. Develop a fullstack application with NextJS and gain a deep understanding of React Hooks, Components, and efficient State Management using Context API and Redux. Learn how to create standalone React apps as well as those connected to a backend via HTTP. Dive into routing with React Router, implement User Authentication, and explore additional concepts like Styling, Animations, Form Handling, TypeScript, and more along the way.

How to Use this Repository

The repository is divided into two main sections: Summary and Core Features. The Summary section features a demo application showcasing key aspects of React, including Components, State Management, Routing, and HTTP requests. The Core Features section consists of several smaller demo projects, each focusing on a specific topic such as Styling, Effects, Forms, and even Redux and Next.js.

To explore the Summary project, check the core-features folder. For the other examples, visit complete-path. The complete list of projects can be find below.

Getting Started
To use the projects in this repository, Node.js needs to be installed on the system. Refer to the official documentation for installation instructions. If asdf is being used, Node.js can also be installed via the .tool-versions file. More information on this is available here.

Once Node.js is installed, follow these steps to start an application:

git clone https://github.com/ThomasCode92/react-complete-guide.git
cd react-complete-guide # navigate into project folder## choose a project, e.g.: 'react-essentials`cd complete-path/react-essentials # navigate to project
npm install # install dependencies
npm run dev # start development server

A lot of node_modules folders are likely to be created. To remove them, run the npm run cleanup command, which recursively deletes all node_modules folders.

Complete list of Core Features

Click of Core Features
ModuleDescriptionResources
React EssentialsBasics of Components, JSX & StateFolder - GitHub
React Essentials - Deep DiveBeyond the BasicsFolder - GitHub
React Essentials - Practice ProjectApply Knowledge & Practice ConceptsFolder - GitHub
Styling React AppsStatic & Dynamic Styling for Pretty AppsFolder - GitHub
Refs & PortalsAdvanced DOM Access & Value ManagementFolder - GitHub
Practice Project: Advanced ConceptsWorking with Components, State, Styling, Refs & PortalsFolder - GitHub
Advanced State ManagementBeyond Basic Apps & β€œLifting Up State”Folder - GitHub
Dealing with Side EffectsKeeping the UI SynchronizedFolder - GitHub
Practice Project: Working with EffectsWorking with EffectsPractice & Dive DeeperFolder - GitHub
Behind The ScenesUnderstanding & Optimizing ReactFolder - GitHub
Data Fetching & HTTP RequestsSending & Receiving Data via HTTPFolder - GitHub
Custom HooksCreating & Using Custom React HooksFolder - GitHub
Working with Forms & User InputIt’s Trickier Than It Might SeemFolder - GitHub
Time To Practice: Food Order AppComponents, State, Context, Effects, HTTP Requests & More!Folder - GitHub
Understanding ReduxManaging App-Wide State with ReduxFolder - GitHub
Redux Deep DiveTaking a Closer LookFolder - GitHub
Single-Page Application RoutingMultiple Pages In Single-Page AppsFolder - GitHub
AuthenticationUser Signup & LoginFolder - GitHub
Data Fetching with Tanstack QuerySending HTTP Requests with EaseFolder - Github
Animating React AppsUsing Framer Motion to Bring Things to LifeFolder - GitHub
Replacing Redux with Context & HooksA Totally Optional of Reducing DependenciesFolder - GitHub
Introduction to Next.jsBuilding Up On ReactFolder - GitHub
Patterns & Best PracticesExploring Advanced React Patterns & Repeating Key Best PracticesFolder - GitHub

About

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

React - Complete Guide

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Introduction

Learn React with this complete guide by starting from the basics and advancing to advanced concepts, including building multiple demo apps. Develop a fullstack application with NextJS and gain a deep understanding of React Hooks, Components, and efficient State Management using Context API and Redux. Learn how to create standalone React apps as well as those connected to a backend via HTTP. Dive into routing with React Router, implement User Authentication, and explore additional concepts like Styling, Animations, Form Handling, TypeScript, and more along the way.

How to Use this Repository

The repository is divided into two main sections: Summary and Core Features. The Summary section features a demo application showcasing key aspects of React, including Components, State Management, Routing, and HTTP requests. The Core Features section consists of several smaller demo projects, each focusing on a specific topic such as Styling, Effects, Forms, and even Redux and Next.js.

To explore the Summary project, check the core-features folder. For the other examples, visit complete-path. The complete list of projects can be find below.

Getting Started
To use the projects in this repository, Node.js needs to be installed on the system. Refer to the official documentation for installation instructions. If asdf is being used, Node.js can also be installed via the .tool-versions file. More information on this is available here.

Once Node.js is installed, follow these steps to start an application:

git clone https://github.com/ThomasCode92/react-complete-guide.git
cd react-complete-guide # navigate into project folder## choose a project, e.g.: 'react-essentials`cd complete-path/react-essentials # navigate to project
npm install # install dependencies
npm run dev # start development server

A lot of node_modules folders are likely to be created. To remove them, run the npm run cleanup command, which recursively deletes all node_modules folders.

Complete list of Core Features

Click of Core Features
ModuleDescriptionResources
React EssentialsBasics of Components, JSX & StateFolder - GitHub
React Essentials - Deep DiveBeyond the BasicsFolder - GitHub
React Essentials - Practice ProjectApply Knowledge & Practice ConceptsFolder - GitHub
Styling React AppsStatic & Dynamic Styling for Pretty AppsFolder - GitHub
Refs & PortalsAdvanced DOM Access & Value ManagementFolder - GitHub
Practice Project: Advanced ConceptsWorking with Components, State, Styling, Refs & PortalsFolder - GitHub
Advanced State ManagementBeyond Basic Apps & β€œLifting Up State”Folder - GitHub
Dealing with Side EffectsKeeping the UI SynchronizedFolder - GitHub
Practice Project: Working with EffectsWorking with EffectsPractice & Dive DeeperFolder - GitHub
Behind The ScenesUnderstanding & Optimizing ReactFolder - GitHub
Data Fetching & HTTP RequestsSending & Receiving Data via HTTPFolder - GitHub
Custom HooksCreating & Using Custom React HooksFolder - GitHub
Working with Forms & User InputIt’s Trickier Than It Might SeemFolder - GitHub
Time To Practice: Food Order AppComponents, State, Context, Effects, HTTP Requests & More!Folder - GitHub
Understanding ReduxManaging App-Wide State with ReduxFolder - GitHub
Redux Deep DiveTaking a Closer LookFolder - GitHub
Single-Page Application RoutingMultiple Pages In Single-Page AppsFolder - GitHub
AuthenticationUser Signup & LoginFolder - GitHub
Data Fetching with Tanstack QuerySending HTTP Requests with EaseFolder - Github
Animating React AppsUsing Framer Motion to Bring Things to LifeFolder - GitHub
Replacing Redux with Context & HooksA Totally Optional of Reducing DependenciesFolder - GitHub
Introduction to Next.jsBuilding Up On ReactFolder - GitHub
Patterns & Best PracticesExploring Advanced React Patterns & Repeating Key Best PracticesFolder - GitHub

About

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

React - Complete Guide

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Introduction

Learn React with this complete guide by starting from the basics and advancing to advanced concepts, including building multiple demo apps. Develop a fullstack application with NextJS and gain a deep understanding of React Hooks, Components, and efficient State Management using Context API and Redux. Learn how to create standalone React apps as well as those connected to a backend via HTTP. Dive into routing with React Router, implement User Authentication, and explore additional concepts like Styling, Animations, Form Handling, TypeScript, and more along the way.

How to Use this Repository

The repository is divided into two main sections: Summary and Core Features. The Summary section features a demo application showcasing key aspects of React, including Components, State Management, Routing, and HTTP requests. The Core Features section consists of several smaller demo projects, each focusing on a specific topic such as Styling, Effects, Forms, and even Redux and Next.js.

To explore the Summary project, check the core-features folder. For the other examples, visit complete-path. The complete list of projects can be find below.

Getting Started
To use the projects in this repository, Node.js needs to be installed on the system. Refer to the official documentation for installation instructions. If asdf is being used, Node.js can also be installed via the .tool-versions file. More information on this is available here.

Once Node.js is installed, follow these steps to start an application:

git clone https://github.com/ThomasCode92/react-complete-guide.git
cd react-complete-guide # navigate into project folder## choose a project, e.g.: 'react-essentials`cd complete-path/react-essentials # navigate to project
npm install # install dependencies
npm run dev # start development server

A lot of node_modules folders are likely to be created. To remove them, run the npm run cleanup command, which recursively deletes all node_modules folders.

Complete list of Core Features

Click of Core Features
ModuleDescriptionResources
React EssentialsBasics of Components, JSX & StateFolder - GitHub
React Essentials - Deep DiveBeyond the BasicsFolder - GitHub
React Essentials - Practice ProjectApply Knowledge & Practice ConceptsFolder - GitHub
Styling React AppsStatic & Dynamic Styling for Pretty AppsFolder - GitHub
Refs & PortalsAdvanced DOM Access & Value ManagementFolder - GitHub
Practice Project: Advanced ConceptsWorking with Components, State, Styling, Refs & PortalsFolder - GitHub
Advanced State ManagementBeyond Basic Apps & β€œLifting Up State”Folder - GitHub
Dealing with Side EffectsKeeping the UI SynchronizedFolder - GitHub
Practice Project: Working with EffectsWorking with EffectsPractice & Dive DeeperFolder - GitHub
Behind The ScenesUnderstanding & Optimizing ReactFolder - GitHub
Data Fetching & HTTP RequestsSending & Receiving Data via HTTPFolder - GitHub
Custom HooksCreating & Using Custom React HooksFolder - GitHub
Working with Forms & User InputIt’s Trickier Than It Might SeemFolder - GitHub
Time To Practice: Food Order AppComponents, State, Context, Effects, HTTP Requests & More!Folder - GitHub
Understanding ReduxManaging App-Wide State with ReduxFolder - GitHub
Redux Deep DiveTaking a Closer LookFolder - GitHub
Single-Page Application RoutingMultiple Pages In Single-Page AppsFolder - GitHub
AuthenticationUser Signup & LoginFolder - GitHub
Data Fetching with Tanstack QuerySending HTTP Requests with EaseFolder - Github
Animating React AppsUsing Framer Motion to Bring Things to LifeFolder - GitHub
Replacing Redux with Context & HooksA Totally Optional of Reducing DependenciesFolder - GitHub
Introduction to Next.jsBuilding Up On ReactFolder - GitHub
Patterns & Best PracticesExploring Advanced React Patterns & Repeating Key Best PracticesFolder - GitHub

About

Dive in and learn React.js from scratch! Learn React, Hooks, Redux, React Router, Next.js, Best Practices and way more!πŸš€πŸ“š

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages