React Essentials
Master modern React. Components, hooks, routing, API calls, forms, Context, and a full capstone project — everything needed for a professional front-end role.
Why learn React Essentials?
React powers the interfaces of a huge share of the web, and it has been the most in-demand front-end skill in job postings for years. If you know JavaScript and want to build real applications people can click through, React is the natural next step.
This track teaches the React that teams actually write today: function components, hooks, routing, data fetching, forms, and Context. You learn why React exists and how it thinks, not just which APIs to call, so unfamiliar codebases stop feeling foreign.
It ends with a four-part capstone where you build TaskFlow, a complete task manager, from blueprint to providers, routing, pages, and features. It is the closest thing to your first real project with guardrails.
Who this course is for
- Developers comfortable with JavaScript basics who want to build real UIs
- Self-taught coders whose React knowledge is copy-paste deep
- Anyone targeting a front-end or full-stack role
What you'll build and practice
- Reusable components driven by props and state
- Screens wired together with client-side routing
- Data-fetching flows with loading and error states handled properly
- Forms with validation that do not fight the framework
- TaskFlow, a complete task manager capstone built across four lessons
What you'll learn
React Essentials is organized into 10 focused modules. By the end you'll be comfortable with:
- Getting Started
- Components
- Props
- State & Events
- Hooks
- Routing
- API Calls
- Forms
- Advanced Patterns
- Capstone Project
Course curriculum
46 lessons across 10 modules. Lessons marked Free preview are readable without an account.
Module 1. Getting Started
What React is, your first running app, and JSX from zero
- 7mWhat is React?Free preview
The problem React solves, the declarative mindset, and why half the web runs on it.
- 8mStarter Kit: Your First React AppFree preview
Create a running React app with Vite, tour the project files, and make your first edit.
- 8mJSX: HTML in Your JavaScriptFree preview
What JSX really is, the three rules that follow from it, and Fragments.
- 7mCurly Braces: JavaScript Inside JSX
Embedding live data in JSX with {expressions} — in content and in attributes.
Module 2. Components
The LEGO bricks of every UI: writing, composing, lists, and conditions
- 8mYour First Component
Writing a component: a function that returns JSX, and the capital-letter rule.
- 7mComposing Components
Nesting components inside components: the component tree and one-job-per-brick thinking.
- 8mConditional Rendering
Showing and hiding UI: ternaries, the && shortcut, early returns — and the famous 0 gotcha.
- 8mRendering Lists
Turning arrays of data into arrays of elements with .map(), and why every item needs a key.
- 8mPractice: Components & JSX
No new concepts — realistic read-and-predict reps over everything from Modules 1 and 2.
Module 3. Props
Passing data into components: props, children, and prop patterns
- 8mPassing Props
Props are the inputs to your components — how to pass them, read them, and why they're read-only.
- 7mchildren & Default Values
The children prop for wrapper components, and default values for optional props.
- 8mProp Patterns & Prop Drilling
Spreading props, the prop drilling problem, and a professional note on typing your props.
Module 4. State & Events
Making components interactive: events, useState, and shared state
- 8mHandling Events
onClick and friends: passing handlers, the event object, and the call-on-render trap.
- 9museState: A Memory for Your Component
Why plain variables can't update the UI, and how useState gives components reactive memory.
- 8mState Updates: Snapshots & Batching
Why three setCount calls add 1, not 3 — stale snapshots, batching, and functional updates.
- 8mObjects & Arrays in State
Why mutation breaks React, and the immutable update patterns for arrays and objects.
- 8mLifting State Up
Sharing state between siblings by moving it to their closest common parent.
- 8mPractice: State & Events
No new concepts — reps on events, snapshots, immutable updates, and lifted state.
Module 5. Hooks
useEffect, refs, memoization, and your own custom hooks
- 8museEffect: Stepping Outside React
What side effects are, why they can't run during render, and your first effects.
- 8mThe Dependency Array
The effect's watch list: when effects re-run, the infinite-loop trap, and the missing-dependency bug.
- 8mCleaning Up After Effects
The cleanup function: stopping timers, listeners, and subscriptions before they leak.
- 7museRef: The Box React Doesn't Watch
Persisting values across renders without re-rendering, and grabbing real DOM elements.
- 8museMemo & useCallback
Caching expensive computations and function identities — and when NOT to bother.
- 8mCustom Hooks
Extracting reusable stateful logic into your own use-prefixed hooks.
Module 6. Routing
Multi-page apps with React Router: links, params, nesting, and guards
- 9mReact Router: Multiple Pages
Routes, Route, Link, and useNavigate — a multi-page feel without page reloads.
- 7mDynamic Routes & useParams
URL parameters — one route pattern like /users/:id serving every user page.
- 7mNested Routes & Layouts
Shared layouts with child routes, the Outlet placeholder, and index routes.
- 7mProtected Routes
Redirecting logged-out users with <Navigate>, the replace flag, and a reusable guard component.
Module 7. API Calls
Fetching data the right way: async effects, UX states, and race conditions
- 8mFetching Data
fetch inside useEffect: where API calls live in React, and the res.ok gotcha.
- 8masync/await in Effects
The async-inside pattern, try/catch/finally, and tracking loading + error + data.
- 8mLoading & Error UX
Skeleton screens, the forgotten empty state, retry buttons, and a note on error boundaries.
- 8mRace Conditions & AbortController
When the wrong response wins: canceling stale fetches with cleanup + AbortController.
- 8mPractice: Data Fetching
No new concepts — reps over the full fetching discipline, bugs included.
Module 8. Forms
Controlled inputs, real forms, validation, and form libraries
- 8mControlled Inputs
value + onChange: making React the single source of truth for an input.
- 9mBuilding a Real Form
Multi-field form state, one generic handler, submitting with POST, and double-submit protection.
- 8mForm Validation
A validate function, per-field errors in state, blur timing — and why the server must re-check.
- 8mForm Libraries: React Hook Form
register, handleSubmit, and formState — plus when a library beats hand-rolling.
Module 9. Advanced Patterns
App-wide state done right: Context, useReducer, and the two combined
- 8mContext: Ending Prop Drilling
createContext → Provider → useContext: broadcasting data to a whole subtree.
- 8mContext in Practice: Provider Patterns
Custom provider components, guarded useAuth-style hooks, and the consumer re-render cost.
- 9museReducer: State With Rules
Actions, dispatch, and pure reducers — centralizing complex state transitions.
- 8mReducer + Context: App-Wide State
Broadcasting state and dispatch through a provider — the mini-Redux pattern, and the full decision ladder.
- 8mPractice: Advanced Patterns
No new concepts — reps over Context, providers, reducers, and the state ladder.
Module 10. Capstone Project
Build a complete task manager — every module's skills in one real app
- 10mCapstone Part 1: The Blueprint
Requirements, component tree, and the reducer — designing the task manager before coding it.
- 10mCapstone Part 2: Provider & Router
TasksProvider with fetch-on-mount, the guarded useTasks hook, and the route table.
- 11mCapstone Part 3: Pages & Features
The list page with four UI states, toggling/deleting against the API, and the validated create form.
- 10mYou're a React Developer
The complete data-flow walk, the whole course in one map, and your road from here.
Frequently asked questions
- How much JavaScript do I need before starting React Essentials?
- You should be comfortable with functions, arrays, objects, and ideally the basics of async code. If map and filter feel natural, you are ready. If not, take JavaScript Fundamentals first; React will make far more sense.
- Does this course teach hooks or class components?
- Hooks, exclusively. Modern React is written with function components and hooks like useState, useEffect, and useContext, and that is what you will practice. Class components only come up as something you might recognize in older code.
- Will I build an actual project in this track?
- Yes. The final module is a guided capstone where you build TaskFlow, a working task manager application, in four parts: the blueprint, the provider and router setup, then pages and features. Every earlier module also ends with hands-on practice.
- Is this React course enough to apply for front-end jobs?
- It covers the core skills interviews test: components, hooks, state management with Context, routing, API calls, and forms. Pair it with solid JavaScript, some published projects of your own, and the Data Structures & Algorithms track if your target companies do algorithm interviews.
- Does the course use Next.js or plain React?
- Plain React, on purpose. Understanding React itself makes every framework built on top of it easier. When you finish, the Next.js Full-Stack track picks up exactly where this one ends.
Ready to start React Essentials?
Create a free account to track progress, earn XP, and get instant help from the AI tutor as you code.
Create your free account