React Fundamentals
What You'll Learn
- Resources for learning JavaScript & TypeScript
- Core React concepts you absolutely need to know
- What is new in modern React (server-first patterns)
- Advanced understanding of render/re-render behavior in React
- Modern courses (including free options) to keep leveling up
JavaScript & TypeScript (JS/TS)
JavaScript
- Eloquent JavaScript - A good desk reference to keep bookmarked. Read thoroughly for a high-level understanding of the language.
- Clean Code JavaScript - Tips on how to write clean, simple, understandable JavaScript.
- JavaScript.info - Modern JavaScript Tutorial
- Learn JavaScript - Interactive JavaScript Tutorial
- The Odin Project - Full Stack JavaScript Development Course
- Egghead.io - Learning
ES6 - 33 JS concepts - 33 Concepts Every JavaScript Developer Should Know
- ExploringJS - Book covering ECMAScript 6 (ECMAScript 2015)
TypeScript
A JavaScript (JS) developer can pick up the basics of TypeScript (TS) in about 10 minutes. But learning TS is more than just adding "types" to your variables here and there. It's about removing the possibility of a bug you'll probably run into if you wrote an application in pure JS. It's likely you already have an internal mental model of "data structures" when you're coding in JS - TypeScript just solidifies those mental models (in your head) into actual "rules" that can apply to your code and how it gets used.
The class of bugs you're getting rid of are all those pesky (…cannot read… 'undefined') errors in the console. If you're ready to get started, check out some of the links below:
- Why Create TypeScript?
- TS for the New Programmer - TypeScript explained for beginners
- stackoverflow.com - What is TypeScript and why would I use it in place of JavaScript? [closed]
- Why TypeScript?
- Beginner's TypeScript - A (free) interactive video course by Matt Pocock
- React with TypeScript - Another free video course by Matt Pocock
- Total TypeScript Essentials
- No BS TS - A (free) video course by Jack Herrington
- Learn TypeScript - Full Tutorial
- TypeScript errors - How to fix your confusing TypeScript errors
- React TypeScript Cheatsheet
It is not an exaggeration to call TypeScript an entire programming language. The good news is you can adopt TS complexity only as it aids you. Sometimes you might have to temporarily level up or step outside your level of expertise to complete a feature. For example, if a library gives you code to work with and it's more advanced TS than you can ordinarily write on your own, it's perfectly acceptable to use it. In most cases, adopting it incrementally in your JS projects and code is pretty painless, and it allows you to learn at your own pace without halting development altogether.
Applying JS/TS to React
To give you a quick idea of the current state of React, check out this 2-minute clip by Fireship titled React in 100 Seconds. While it barely scratches the surface, it quickly communicates why React is so popular today (an important context to keep in mind).
Some JS fundamentals you'll want to brush up on are Events, Promises, Arrays. Events drive interactivity in web applications. Understanding events at their core and how they propagate through the DOM (in the correct hierarchy and order) is critical to understanding browser behavior. To understand events, you should start by reading An Interactive Guide to JavaScript Events by Aleksandr Hovhannisyan.
Asynchronous JavaScript allows us to write UIs and apps with non-blocking interactivity. At the same time, potentially long-running processes run in the background, which helps us defer behavior until those processes have been completed. Promises are the primary way of dealing with asynchronous behavior and the associated information.
Arrays have developed as of ES6 and now provide rich means of manipulating datasets. Read more about the functions of Arrays in JavaScript.
React Concepts You MUST Know
Now, moving onto the React API, JSX is a declarative way to describe our UI. React allows us to ignore the chaos of browser DOM APIs for rendering our apps (or mobile rendering in the case of react-native). You're really going to want to know JSX.
Below are some specific recommended articles both in the docs and from various sources to help you "think" like a React developer. We recommend them precisely because they help you build the mental model of how React works:
- Thinking in React
- Responding to Events (like clicking, typing, scrolling, etc.)
- Describing the UI
- Managing State (locally, in components)
- Built-In React Hooks (hooks reference)
- A Complete Guide to useEffect - a very detailed article on the nuance of useEffect by core-team member Dan Abramov
- Myths about useEffect
- Escape Hatches
- Common Beginner Mistakes with React
Modern React: What's New (2026)
If you learned React in the CRA + client-only era, the biggest mindset shift is this: React is now commonly server-first, with client interactivity layered in where needed.
Key ideas to understand now
- Server Components - move non-interactive rendering and data fetching to the server to reduce client bundle size.
- Server Actions - trigger server-side mutations directly from forms/components with less client API wiring.
- Streaming + Suspense - render useful HTML early while slower parts continue loading.
- Selective client boundaries - only use client components where browser interactivity is required.
- React Compiler direction - React is evolving to automate more performance optimizations by default.
Recommended reading for modern mental models
- Server and Client Components
- Server Components reference
- use server
- Suspense
- Next.js App Router (practical server-first React architecture)
- React Rendering Strategies (our in-project guide)
Really Understanding How Rendering Works in React
Many newcomers to React think a performant React app means simply cutting down the number of "re-renders" - but to really master performant React code you need to understand when/how/why re-renders happen, and what's actually happening when a re-render occurs.
- Rendering in React
- Why React Renders
- Why React Re-Renders
- A (mostly) complete guide to react rendering behavior
- Everything on developerway.com that has to do with re-rendering
- React, Visualized
- A Visual Guide to React Rendering
- Interactive CodeSandbox that shows how/when parents re-render any direct child components used in the render (NOT to be confused with the
childrenprop, which do NOT always trigger re-renders if/when they change)- Notice that
Component Bin this example is memoized withmemo()
- Notice that
-
React recursively re-renders child components, but the
childrenprop is special- assuming your component passes the children prop through and simply renders it, re-renders of
{children}will not always cause the parent to re-render
- assuming your component passes the children prop through and simply renders it, re-renders of
-
Timeline of a React Component With Hooks
- An interactive timeline showing how a React component with hooks runs
-
Parents & Owners in React: Rendering Performance
- Being aware of the distinction between parent and owner components can help you isolate updates and improve rendering performance.
Courses & Video Tutorials
Modern courses and tutorials to help you move from fundamentals to production-ready React. We prioritize resources that are actively updated for current React patterns (server components, modern routing, data-fetching, and performance).
- Frontend Masters - React Learning Path (paid) - one of the best structured paths from fundamentals to production architecture.
- Frontend Masters Courses Catalog (paid) - look for recently updated React, TypeScript, and Next.js tracks.
- Epic React (paid) - deep practical React patterns and production thinking.
- React with TypeScript (free) - modern TS + React workflow from fundamentals upward.
- Scrimba - Learn React (free/paid tiers) - highly interactive and beginner-friendly.
- React Official Docs (Learn) (free) - best source for modern React mental models.
- freeCodeCamp React guides (free) - project-driven learning and practical walkthroughs.
- React Official Docs - always the baseline; keep this as your source of truth.
- Jack Herrington - modern React, Next.js, and tooling updates.
- Frontend Masters YouTube - free previews and high-signal talks.
- Total TypeScript - React with TS - free modern TS course for React developers.
- Beginner and free-first: start with React Docs + Scrimba.
- Intermediate and project-focused: take the Frontend Masters React path.
- TypeScript-heavy React teams: pair with React with TypeScript.
- Advanced production patterns: use Epic React and our performance/rendering topics.