Hi Marc, I saw your tweet and wanted to help you learn React.

Here's what I suggest as your learning path:

  1. Learn React
  2. Learn a framework
  3. Learn the most important libraries
  4. Explore other frameworks

1. Learn React

Documentation

The first resource to learn React is the official documentation. Now the documentation is well-written and comprehensive. There's a Learn section (though I haven't tried it myself, it looks promising) and of course the reference.

Note: the documentation is very biased toward using frameworks like Next.js for new React projects. I strongly recommend starting with just Vite. This approach helps you distinguish between vanilla React features and framework-specific functionality. You can get started by running pnpm create vite. As soon as you need a router, check Tanstack Router by the great Tanner Linsley (btw, as you are becoming a React developer, you should follow him). It has fully typed routes.

Course

For a structured course approach, I highly recommend The Joy of React by Josh Comeau.

Josh is a great teacher who pays attention to the smallest details (I once completed his CSS for devs course). Watching the covered topics, I would suggest at least the “Pro” package, but I think the full course would be worth the investment, if it’s within your budget. BTW, I’m not affiliated with Josh, he doesn’t know me, we’ve only briefly met at last React Paris, but I believe in promoting quality work. Another great resource is the classic “Epic React” course by Kent C. Dodds.

2. Learn a Framework

Unlike Vue's ecosystem with Nuxt as its primary SSR framework, the React ecosystem is more complex and fragmented with multiple frameworks. Each framework has its strengths and weaknesses.

Next.js

Since your goal is to become hireable as a React developer, Next.js should be your first choice as it's the most widely used framework. Created by Guillermo Rauch, the brilliant founder and CEO of Vercel. The documentation is well-written, and you should focus on the "App Router" version since it's now the default for new projects. Beyond SSG, SSR, and ISR, you'll learn about "Server Components." To better understand Server Components, I recommend reading my article https://dev.to/matfrana/where-do-react-server-components-fit-in-the-history-of-web-development-1l0f

The developer experience with Server Components can be challenging—you'll need to use the "use client" directive for interactive components, which can't be used directly as pages. Overall, Next.js is a versatile framework that works very well for both interactive web applications and content-focused websites. I'll discuss other great alternatives in section 4.

3. Learn the most important libraries

Here’s a list of the first libraries that come to my mind: I am surely forgetting some important ones: