cft

The React roadmap for beginners you never knew you needed.

The only react roadmap you will ever need for learning ReactJS


user

Abhiraj Bhowmick

2 years ago | 1 min read

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
      1. Learn the basics of HTML
      2. Make a few pages as an exercise
    2. CSS
      1. Learn the basics of CSS
      2. Style pages from previous step
      3. Build a page with grid and flexbox
    3. JS Basics
      1. Get familiar with the syntax
      2. Learn basic operations on DOM
      3. Learn mechanisms typical for JS (Hoisting, Event Bubbling, Prototyping)
      4. Make some AJAX (XHR) calls
      5. Learn new features (ECMA Script 6+)
      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
      1. npm
      2. yarn
      3. pnpm
    2. Task Runners
      1. npm scripts
      2. gulp
    1. Webpack
    2. Rollup
    3. Parcel
  5. Styling
    1. CSS Preprocessor
      1. Sass/CSS
      2. PostCSS
      3. Less
      4. Stylus
    2. CSS Frameworks
      1. Bootstrap
      2. Materialize, Material UI, Material Design Lite
      3. Bulma
      4. Semantic UI
    3. CSS Architecture
      1. BEM
      2. CSS Modules
      3. Atomic
      4. OOCSS
      5. SMACSS
      6. SUITCSS
    4. CSS in JS
      1. Styled Components
      2. Radium
      3. Emotion
      4. JSS
      5. Aphrodite
  6. State Management
    1. Component State/Context API
    2. Redux
      1. Async actions (Side Effects)
        1. Redux Thunk
        2. Redux Better Promise
        3. Redux Saga
        4. Redux Observable
      2. Helpers
        1. Rematch
        2. Reselect
      3. Data persistence
        1. Redux Persist
        2. Redux Phoenix
      4. Redux Form
    3. MobX
  7. Type Checkers
    1. PropTypes
    2. TypeScript
    3. Flow
  8. Form Helpers
    1. Redux Form
    2. Formik
    3. Formsy
    4. Final Form
  9. Routing
    1. React-Router
    2. Router5
    3. Redux-First Router
    4. Reach Router
  10. API Clients
    1. REST
      1. Fetch
      2. SuperAgent
      3. axios
    2. GraphQL
      1. Apollo
      2. Relay
      3. urql
  11. Utility Libraries
    1. Lodash
    2. Moment
    3. classnames
    4. Numeral
    5. RxJS
    6. ImmutableJS
    7. Ramda
  12. Testing
    1. Unit Testing
      1. Jest
      2. Enzyme
      3. Sinon
      4. Mocha
      5. Chai
      6. AVA
      7. Tape
    2. End to End Testing
      1. Selenium, Webdriver
      2. Cypress
      3. Puppeteer
      4. Cucumber.js
      5. Nightwatch.js
    3. Integration Testing
      1. Karma
  13. Internationalization
    1. React Intl
    2. React i18next
  14. Server Side Rendering
    1. Next.js
    2. After.js
    3. Rogue
  15. Static Sbelow-providedite Generator
    1. Gatsby

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

Thank you for reading.

Until next time,
Abhiraj

Upvote


user
Created by

Abhiraj Bhowmick

I make stuff on the web and write blogs about it.


people
Post

Upvote

Downvote

Comment

Bookmark

Share


Related Articles