DEV Community

Cover image for The React roadmap for beginners you never knew you needed.
Abhiraj Bhowmick
Abhiraj Bhowmick

Posted on • Originally published at abhiraj.mdx.one

The React roadmap for beginners you never knew you needed.

One of the most widely used JavaScript libraries for developing dynamic web apps is React. It has a sizable community and a dedicated development team behind it.
Although React is reasonably simple on its own, learning just one library is insufficient, especially if you want to build a complex web app.
In this article, I'll lay out a road map for learning how to utilise React to build real-world applications. I'll go over the key React principles and libraries you should be familiar with.

Below listed are some of the languages and frameworks you will have to be familiarized before getting into React.

  1. Basics
    1. HTML
      • Learn the basics of HTML
      • Make a few pages as an exercise
    2. CSS
      • Learn the basics of CSS
      • Style pages from previous step
      • Build a page with grid and flexbox
    3. JS Basics
      • Get familiar with the syntax
      • Learn basic operations on DOM
      • Learn mechanisms typical for JS (Hoisting, Event Bubbling, Prototyping)
      • Make some AJAX (XHR) calls
      • Learn new features (ECMA Script 6+)
      • Additionally, get familiar with the jQuery library
  2. General Development Skills
    1. Learn GIT, create a few repositories on GitHub, share your code with other people
    2. Know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS)
    3. Don't be afraid of using Google, Power Searching with Google
    4. Get familiar with terminal, configure your shell (bash, zsh, fish)
    5. Read a few books about algorithms and data structures
    6. Read a few books about design patterns
  3. Learn React on official website or complete some courses
  4. Get familiar with tools that you will be using
    1. Package Managers
    2. Task Runners
    3. Webpack
    4. Rollup
    5. Parcel
  5. Styling
    1. CSS Preprocessor
    2. CSS Frameworks
    3. CSS Architecture
    4. CSS in JS
  6. State Management
    1. Component State/Context API
    2. Redux
      1. Async actions (Side Effects)
      2. Helpers
      3. Data persistence
      4. Redux Form
    3. MobX
  7. Type Checkers
  8. Form Helpers
  9. Routing
  10. API Clients
    1. REST
    2. GraphQL
  11. Utility Libraries
  12. Testing
    1. Unit Testing
    2. End to End Testing
    3. Integration Testing
  13. Internationalization
  14. Server Side Rendering
  15. Static Site Generator

Now you can follow the below provided roadmap to start your journey.

rd
Source


Thank you for reading.

Until next time,
Abhiraj

Discussion (12)

Collapse
trostcodes profile image
Alex Trost

It'd be great if you gave credit to the source you've taken the roadmap from.

Collapse
abhirajb profile image
Abhiraj Bhowmick Author

Sure! I have done it.

Collapse
lukeshiru profile image
LUKESHIRU

The "originally published on" link on top should be the original source instead of a link at the bottom of the article 😑

Thread Thread
abhirajb profile image
Abhiraj Bhowmick Author

The source link is actually the Website from where I have used the roadmap image

Thread Thread
lukeshiru profile image
LUKESHIRU

I'm talking about this:
Screenshot highlighting the header section where the "originally published on" link is currently taking to a blog post by the same author of this article, instead of the original source

Collapse
iam_timsmith profile image
Tim Smith

Under unit testing, you included Enzyme. I would also include @testing-library/react as that's grown in popularity too.

Collapse
abhirajb profile image
Abhiraj Bhowmick Author

Sure! Thanks for adding.

Collapse
jeff7 profile image
jeff7

Great Job

Collapse
obaino82 profile image
Obaino82

Really fascinating ❤️

Collapse
samuelpilay profile image
Samuel Pilay Munoz

Nice post

Collapse
abhirajb profile image
Abhiraj Bhowmick Author

Thank you!

Collapse
rebeccapeltz profile image
Rebeccca Peltz

Hooks?