JavaScript First, Then React?
Or,
JavaScript ✛ React?

👩‍💻 Beginning Words

There are 3 approaches one can take to start React journey

➊ Complete JavaScript. Then, start React.

➋ Learn the essentials of JavaScript. Then, start React. Finally, learn advanced JavaScript.

➌ Start React. Learn JavaScript alongside.
💭 Why is this Thread?

⬘ JavaScript is a language while React is one JavaScript-based library.

⬗ Looking at the popularity of React, few people directly start learning React without much/prior knowledge of JavaScript. Is this a good idea?
⬙ Whichever approach you may take, it's important to know what JavaScript concepts will make your React journey effective and, smoother.

⬖ We will discuss those essential concepts in this thread.
📋 JavaScript Essentials for React

➊ Basics
➋ String Methods
➌ Array Methods
➍ Array Destructuring
➎ Array Spread
➏ Object Destructuring
➐ Object Spread
➑ Template Literals
➒ ES Modules
➓ APIs & Others
➊ Basics

➀ Variable
➤ Declaration
➤ Scope
➤ Hoisting
➤ Assignment

➁ Functions
➤ Declarations
➤ Expressions
➤ Arrow Functions
➤ Callbacks
➤ Closure
➂ Operators
➤ Arithmetic
➤ Assignment
➤ Comparison
➤ Logical

➃ Literals
➤ String
➤ Array
➤ Object

➄ Condition & Looping
➤ if, if...else
➤ for, for...in, for...of
➤ while, do...while
➋ String Methods

➤ toLowerCase()
➤ toUpperCase()
➤ charAt()
➤ substring()
➤ slice()
➤ includes()
➤ startsWith()
➤ endsWith()
➤ indexOf() / lastIndexOf()
➤ match() / matchAll()
➤ replace() / replaceAll()
➤ repeat()
➤ trim()
➌ Array Methods

➤ forEach()
➤ map()
➤ reduce()
➤ flat()
➤ flatMap()
➤ find()
➤ filter()
➤ slice()
➤ splice()
➤ push()
➤ pop()
➤ shift()
➤ unshift()
➤ some()
➤ every()
https://t.co/HVBUwFigWI
➍ Array Destructuring

It's frequently used in hooks esp. useState()

Example:

⇥ const [fruits, setFruits] = useState([]);

Know more:
https://t.co/Pa7QF30FT3
➎ Array Spread

There are so many use cases. One of the place where we frequently spread an array is adding/updating/removing an item from the state.

Example:
Add an item to the starting of Array

⇥ let newArray = [itemToAdd, ...oldArray]

Know more:
https://t.co/L4Sxv94WOz
➏ Object Destructuring

⬘ Properties are passed as an object parameter to our function component.

⬙ We can destructure it and, specify only those properties that we are going to use.

Example:

function MyComponent({name, address}) {

}
➐ Object Spread

We may spread an object to pass those to a child component.

Example:

function MyComponent({name, address, ...rest}) {
return
}
➑ Template Literals

➤ Untagged Template Literals
➤ Tagged Template Literals
This is used in a few stylesheet libraries.
➒ ES Modules

➤ import
➤ import {}
➤ export
➤ export default
➓ APIs & Others

➤ DOM API
Very important to learn how React handles DOM, events.

➤ Promise API
➤ async...await
These 2 are not hard stoppers though.

➤ Fetch API
Not a hard stopper. Learn for making API calls.
🏁 Final Words

⬘ Learning method varies from person to person.

⬖ Remember, React is a JavaScript Library. JS knowledge is definitely needed. How and, at what time you learn that is tricky.

⬙ To start using React, learn necessary JavaScript concepts.

Happy React journey.
Hey 👋

I am a Tech Educator and, Mentor from India 🇮🇳

I am sharing Tutorials, Tricks, Infographics, Cheat Sheets, Practice Questions, Project Ideas and Roadmaps on Web Development, DSA and, Databases.

To never miss anything, Follow Me ✅

More from Swapna Kumar Panda

🛣 Beginner's Roadmap for Front-End

HTML & CSS → 👩‍💻 → JavaScript → 👩‍💻

👩‍💻 ← React* ← 👩‍💻 ← Tailwind*

TypeScript → 👩‍💻 → Next.js* → 👩‍💻 → 🏁



What would we cover?

➊ HTML & CSS
➋ JavaScript
➌ CSS Frameworks
➍ UI Frameworks
➎ TypeScript
➏ Server-side Frameworks
➐ Practice, Practice and, Practice
➑ Other Skills
➒ Frequently Asked Questions

➊ HTML & CSS

⬘ Your Front-End journey shall always start from HTML & CSS and, ends with these as well.

⬗ Don't over burden yourself to learn everything at once. It's a continuous subject.

⬙ Do not separate HTML from CSS. That's


➋ JavaScript

JavaScript is essential. You should start with basics and move to complex subjects.

❍ JavaScript Syntaxes
(preferably ES6 onwards)
❍ HTML DOM API
❍ Event Handling
❍ Fetch


➌ CSS Frameworks

CSS Framework is necessary if you are planning to be a professional developer.

There are so many options available.

❍ Tailwind CSS
❍ Bootstrap
❍ Chakra
❍ Bulma
❍ Foundation
❍ Skeleton
❍ Pure CSS

Start with anything. You can switch any time.

More from All

You May Also Like

@EricTopol @NBA @StephenKissler @yhgrad B.1.1.7 reveals clearly that SARS-CoV-2 is reverting to its original pre-outbreak condition, i.e. adapted to transgenic hACE2 mice (either Baric's BALB/c ones or others used at WIV labs during chimeric bat coronavirus experiments aimed at developing a pan betacoronavirus vaccine)

@NBA @StephenKissler @yhgrad 1. From Day 1, SARS-COV-2 was very well adapted to humans .....and transgenic hACE2 Mice


@NBA @StephenKissler @yhgrad 2. High Probability of serial passaging in Transgenic Mice expressing hACE2 in genesis of SARS-COV-2


@NBA @StephenKissler @yhgrad B.1.1.7 has an unusually large number of genetic changes, ... found to date in mouse-adapted SARS-CoV2 and is also seen in ferret infections.
https://t.co/9Z4oJmkcKj


@NBA @StephenKissler @yhgrad We adapted a clinical isolate of SARS-CoV-2 by serial passaging in the ... Thus, this mouse-adapted strain and associated challenge model should be ... (B) SARS-CoV-2 genomic RNA loads in mouse lung homogenates at P0 to P6.
https://t.co/I90OOCJg7o