DEV Community

Cover image for A Complete Beginner Guide To  React Js
Hemant Joshi
Hemant Joshi

Posted on

A Complete Beginner Guide To React Js

Hii๐Ÿ‘‹,

Originally posted on my other account, which is inactive so I will be posting here.

React JS is the most popular Javascript library for building blazing fast pages, and here is:-
A Complete Beginner's Guide to React Learning Path and Resources

Lately, I had people asking how to learn ReactJs, the time it takes, and resources, and hence I decided to talk about the questions and answer them and will introduce you to my own learning path.

You can also follow me on github

GitHub logo dermayj / mayHemant

Awesome Github ReadME, Dynamic nature Built with Love. Please consider to follow and star, Contribution are accepted, Free Fell To Fork

Hi there, I'm Hemant

ย ย  ย ย  ย ย  ย ย  ย ย 

๐Ÿ™Ž Hemant Joshi | ๐Ÿ’ป Full Stack Developer | ๐Ÿ›ธ India , UK

Twitter Follow


GIF

I'm 18 years old Self-taught Full-Stack developer from India.

  • ๐Ÿฅ€ Learning GraphQl NextJs &Typescript

  • with Javascript, React and 69 others.

  • ๐Ÿ”ญ SpaceX FanBoi, Vanilla in Space๐Ÿ˜ผ

  • ๐Ÿ›ธ Into High Energy Physics and Astrophysics, i love shotting stars too.

  • I do ReactJS and JavaScript with Redux - Context - Hooks and a lot of love โค๏ธ

  • MERN stack Developer

System Design | Web Development | Micro Services | Competitive Programming | Machine Learning

  • ๐Ÿ’ฌ Connect? lets get social ๐Ÿ‘‰๐Ÿผ

- Languages and Tools...

html csharp js python react vue chrome cloud datascience aws npm gcp bash vscode

- Blogs ๐ŸŒฑ

- Podcast โšก๏ธ

Stay awesome!






๐ŸŽ‰npm start๐ŸŽ‰

Table of Content๐ŸŒฑ


1. ๐Ÿ”ญTopics to Learn

I would recommend you to learn 90-95% of the topics mentioned below to hold a good hand in ReactJs.

In this Topics to Learn section I will be sharing the topics which I learned as a beginner to ReactJs Dev, also I am currently learning but can develop the needs and changes required for me, also these topics are kind of sufficient for me to move in the race and adopt changes or learn new topics/ logics.

a. Basics

This is the Basics Section which holds the must know basics topics to begin with ReactJs and which are really easy to learn too.

  • HTML
  • JSX
    JSX is a kind of building block of ReactJs and learning JSX is the initial step to begin in the React Race. Don't worry, if you are new JSX, is just like HTML, but with logical differences

  • CSS

  • JavaScript
    Learning JS would be really helpful but below are some of must-know topics in Javascript to begin with React

    • Classes in JS
    • ES6 JS
    • Array Methods
      • map() .filter() .reduce() and lot
    • Destructuring
    • Promises + Async / Await
    • Let Var Const
  • Npm or Yarn

Done with Basics?

Lets npx create-react-app or yarn create react-app

Npm brought me here and Yarn moves me now.

npm start

b. React

In this React section, we will basically cover the topics in React which are must to know as a ReactJs Developer. Also I would not recommend you to skip any of the Topics mentioned over here.

  • Folder Structure

    โ”œโ”€โ”€  my-app/
    โ”‚    โ”œโ”€โ”€  README.md
    โ”‚    โ”œโ”€โ”€  node_modules/
    โ”‚    โ””โ”€โ”€  package.json
    โ”œโ”€โ”€  public/
    โ”‚       โ”œโ”€โ”€  index.html
    โ”‚       โ””โ”€โ”€  favicon.ico
    โ””โ”€โ”€  src/
            โ”œโ”€โ”€  App.css
            โ”œโ”€โ”€ App.js
            โ”œโ”€โ”€  App.test.js
            โ”œโ”€โ”€  index.css
            โ”œโ”€โ”€  index.js
            โ””โ”€โ”€  logo.svg
    
  • Components in React

  • Functional VS Class Component

  • How to import/ export Components in React

  • Passing Props in Components

  • Adding Styles/ CSS to React App/ Components

  • State and Lifecycle

  • Event Handler

  • Forms

  • Conditional Rendering

  • List and Keys in React

  • Hooks
    Hooks are something you call a magical tool to React and will highly recommend to dive into the Hooks section with basic knowledge of following Hooks.

    Note Hooks are only used in Functional Components.

    • useState
    • useEffect
    • Custom Hooks
  • HTTP Requests

    • GET
    • POST
  • Working With API's

    • Fetching/ Posting Data
      • Axios Get/ Post
  • Working with UI
    Learn to use custom UI, just like Bootstrap the React consist of its own Library

    • Material UI
    • Ant Design
  • Routing in React

c. Advanced

This is the Advanced section for the Learning path and would recommend to go with topics in Basic and React and here are some of the Advanced Topics.

  • State Management Tools

    • React-Redux
      • React Dev Tools
    • Context API

    As a beginner I would recommend you to go with Redux it will let you explore and learn a lot of different topics in React.

  • Authentication

    • OAuth
    • JWT based Auth
  • Private Routes

  • Client Side Storage

    • Local Storage
    • Redis
    • Cookies
  • Debugging + Performance Optimization

2. โ˜˜๏ธProject Ideas

The best way to learn something is by building relevant stuff to the skill and here are some of the project ideas to build and Learn React.

I will be moving from Easy to Hard in the project list.

  • Single page portfolio site

    • A single page portfolio site which req CSS, working with React UI library.
  • Todo APP

  • Weather APP

    • Weather APP by using Open weather API.
  • COVID 19 Tracker

    • Using API provided by WHO, build a COVID tracker.
  • Youtube Clone

    • Use Youtube Data V3 API, to display the search query and results.
  • Blog page

    • I have created my own blog page using React-Redux to fetch data from Dev.to API and here is the post about it

https://dev.to/hemant/i-created-my-blog-using-dev-to-api-and-react-4f61

  • Shopping Cart

    • Add, Update, and /delete featured react shopping cart which will have a Net price and product count.
  • React Based E-Commerce site

    • This will let you learn the advanced topics in React the site will consist of user login/ Signup, home page, product page and a shopping cart with add edit delete product option.

3. โš›๏ธResources

This is the Resources section where we will cover the resources for your help from Learning to Showing, also will request to add some of the awesome resources in the comment Box

a. Learning

This is the Learning part of Resources section and here I will be sharing some of the relevant resources and how to follow them.

b. Development

This is the Development part of Resources section, where we will cover the sites from where you can get into building Projects and learn.

  • Youtube Videos

    • You can simply visit the youtube and search for your project idea/ topic and can follow any video to go with and that is how you will learn about code practices and logics.
  • Blog's

    • Dev.to have a large number of blog posts with the project building and the ideas, also you can scroll on Medium and follow the post and learn the logics and use of the specific element

4. ๐ŸŒฑCommon Questions

This Section consist of common questions I see people asking based on Learning ReactJs

1. How much time it takes to learn React?

This is probably the most asked question as I am too a life long learner, and this question makes me laugh each time a get this.

ReactJs is not a kind of problem the real stuff is JavaScript and when the question comes the answer is simple there is no end to JavaScript each Dev across the globe has a different pattern and way to javascript and that makes javascript an endless depth Ocean.

About dealing with the basics and advanced topics mentioned above, I would recommend you take time to enjoy and keep going as it would take you 2-3 months with the following topics.

2. How to develop responsive projects as a Beginner

As a Beginner, I would recommend learning CSS effectively also in my case I rely on UI libraries which include predefined Navbars, containers, footer, etc...

3. How to tackle new Topics

In my case, I love to start with docs and I feel like most of the docs consist of every part you need to know.

4. Fixing Error

This is the best part of Developing an app when you face an unknown error, and sometimes it gets really hard to short it out, and sometimes it takes me a net of 2-3 days.

Fixing the issue

Learning to debug is most import task in 2020 to begin as Developer, google chrome has several cool tools to deal with it

  1. Console
  2. Network
  3. Sources

Also, add the Redux Dev tool extension to make it easy to debug.

Unable to Fix?

Never give up on an Error cause those are the most import learning corners, if you are unable to fix the error try reaching Dev Community in Both Dev.to and Twitter and finally search for Stackoverflow and usually you will get a solution for the issue

5. Learning New Topics?

To win the race the most important thing to do is keep running and the same is to do in the Developer race keep learning trending and latest topics.

How to looks for topics?

Practically talking follow someone who is a good developer or keep yourself sync to #reactjs #javascript tags which will let you know about the topics and this is how you can learn.

6. Is React JS tough?

This was the question asked by most of the people, I would have a simple answer for this "Everything looks tough but when you conquer it you enjoy the pain and hard work"

7. Important Tips?

" Remember We are a Life-Long Beginner and Learner simultaneously "

5. ๐Ÿ”—Useful Links

Hii this is the Useful Links section where I will be sharing some of the links I find important for React JS developer for better performance and time saving too also the learning sources.

Popular Youtube Links

Important Blog Posts

Frontend Library's

  • Material UI

  • Chakra UI

  • Ant Design

  • React-Bootstrap

CSS framework

  • Tailwind CSS

ReactJS Inerview Question

Full Stack Mindmap



Thank You for reading this and hope you liked the post, and if you have any suggestions please make sure to comment on them below.

In case of issue or help feel free to react me out on twitter๐Ÿฆ

Or GitHubโญ

GitHub logo dermayj / Dev-Blogs

Hii, This is a blog Designed in React-Js, with Javascript and Love. App Fetches Your Blogs from Dev.to using Dev.to Api


Oldest comments (0)