EduFlow
React Fundamentals
0%

Section 1 · Getting Started

Why React in 2026

9 min3 min readChoose wisely

Lesson at a glance

Understand what problem React solves, what “UI as a function of state” means, and what you will build and ship by the end of this course.

  1. 1Describe the result, not the steps
  2. 2Why React, and why now
  3. 3What you will build

No video here — just the real thing: a written lesson, runnable examples, a quiz and practice.

You have probably written a little JavaScript that changes a page: find an element, set its text, add a class, append a list item. It works for one button. Then you add a counter in the header that has to match the list, a filter that hides some items, and an empty-state message. Every click now has to update four places, in the right order, and the day you forget one, the header says “3 to watch” while the list shows two.

That bookkeeping is the problem React was built to remove.

Describe the result, not the steps

With React you write components: JavaScript functions that take some data and return a description of the screen. When the data changes, React calls your functions again, compares the new description with the previous one, and makes only the DOM changes needed to get from one to the other.

src/App.jsx
function WatchCount({ movies }) {
  const left = movies.filter((m) => !m.watched).length;
  return <p>{left} to watch</p>;
}

There is no “when a movie is marked watched, find the header and decrement the number” code anywhere. The count is calculated from the list every time, so it can’t drift out of sync. People summarise this as UI as a function of state: the same data always produces the same screen.

That one idea explains most of what you will learn. Props are how data flows into a component. State is data that changes over time. Events are how the user asks for a change. Effects are how you sync with things outside React, such as the page title or localStorage.

Why React, and why now

There are good alternatives (Vue, Svelte, Solid, Angular), and the ideas transfer between them. React is still the safe default for a career switcher for three practical reasons: it appears in more front-end job listings than anything else, it has the largest ecosystem of libraries and answers, and React Native lets the same skills build mobile apps.

React 19 is the current major version. It made a few things simpler: ref is now a regular prop, forms got first-class support through Actions, and an optional React Compiler can handle many performance optimizations for you. You will meet each of these where it matters, without memorising history. Older tutorials that use Create React App or class components are out of date; skip them.

What you will build

The whole course builds one app: a Watchlist for movies you want to see. By the end it will let you add a movie through a form, mark it watched, filter the list by status, and keep everything in localStorage so a refresh doesn’t wipe it. In the last section you style it with Tailwind CSS and deploy it to Vercel, so you finish with a real URL you can put on your CV.

Most lessons end with a hands-on exercise in the browser playground. Do them. Reading about state is very different from watching your own button refuse to update and working out why.

Next, you set up a real project on your computer with Vite and see where React actually lives in it.

Key takeaways

  • React lets you describe what the screen should look like for a given state, and it works out which DOM changes to make.
  • A React app is a tree of components, which are plain JavaScript functions that return markup.
  • React 19 is the current major version; this course uses it with Vite for development and Vercel for hosting.
  • You learn by building one app, a Watchlist, a little more in every lesson.

Further reading

Check your understanding

3 questions

Question 1 of 3

What does “UI as a function of state” mean in practice?

Question 2 of 3

Your Watchlist shows “3 to watch” in the header and highlights unwatched movies in the list. A movie gets marked as watched. With plain DOM code, what usually goes wrong?

Question 3 of 3

Which statement about React in 2026 is accurate?

Practice

Choose wisely

Which count can't drift?

The Watchlist header shows how many movies are still unwatched. Users can add movies, remove them and mark them watched. Pick every design where the header can never disagree with the list.

Which count can't drift?