React isn’t a new language; it’s a JavaScript library. It uses modern JavaScript features heavily. If you understand these, React will make 10x more sense.
a) Modern Variables: let and const
- What it is: The new way to declare variables, replacing
var. - Why it matters:
constis for values you won’t reassign, which you should use by default. This prevents many common bugs.letis for values you will reassign (like a loop counter). - Coding Step:
// Use const by default
const name = "Alice";
// Use let only if you know it needs to change
let age = 30;
age = 31; // This is okay
// name = "Bob"; // This would cause an error, which is good!
b) Arrow Functions () => {}
- What it is: A shorter, cleaner syntax for writing functions.
- Why it matters: React code is full of them. They are used everywhere, especially for passing small functions as props or in array methods.
- Coding Step:
// Old JavaScript function
function add(a, b) {
return a + b;
}
// Modern ES6 Arrow Function
const add = (a, b) => {
return a + b;
};
// If it's a single line, it's even shorter (implicit return)
const subtract = (a, b) => a - b;
c) Array Methods: .map(), .filter()
This is the most important concept on this list for React. You will use .map() every single day.
- What it is: Functions that let you transform arrays without using a
forloop..map(): Transforms each item in an array into something new..filter(): Creates a new array with only the items that pass a test.
- Why it matters: React renders lists of components by
.map()-ing over an array of data. - Coding Step (The “Aha!” Moment):
const numbers = [1, 2, 3, 4, 5];
// 1. Using .map()
// Goal: Create a new array where every number is doubled.
// Old way (for loop)
const doubled_loop = [];
for (let i = 0; i < numbers.length; i++) {
doubled_loop.push(numbers[i] * 2);
}
// doubled_loop is [2, 4, 6, 8, 10]
// React way (.map())
const doubled_map = numbers.map((number) => {
return number * 2;
});
// doubled_map is [2, 4, 6, 8, 10]
// 2. Using .filter()
// Goal: Create a new array with only the even numbers.
const evens = numbers.filter((number) => {
// Return true if we want to keep it
return number % 2 === 0;
});
// evens is [2, 4]
d) Destructuring (Objects & Arrays)
- What it is: A shortcut to pull values out of objects or arrays.
- Why it matters: React uses this everywhere, especially for pulling
propsout of an object. - Coding Step:
const person = {
firstName: "Jane",
lastName: "Doe",
job: "Developer"
};
// Old way
// const firstName = person.firstName;
// const job = person.job;
// New way (Destructuring)
const { firstName, job } = person;
console.log(firstName); // "Jane"
console.log(job); // "Developer"
// You will see this in React components all the time:
// function ProfileCard({ name, jobTitle }) { ... }
// This is destructuring the 'props' object.
e) Asynchronous JavaScript: async/await
- What it is: A way to handle tasks that take time (like fetching data from a server) without freezing the entire application.
- Why it matters: You’ll use this in Step 4 to load data from an API.
- Coding Step (Just to see it):
// This function "pauses" on the 'await' line until the data comes back
async function fetchUserData() {
const response = await fetch('https://api.example.com/user/1');
const data = await response.json();
console.log(data);
}
// Don't worry about mastering this yet, just recognize it.
2. 🛠️ Your Environment Setup (The “Do This Now” Part)
This is your main “coding step” for Step 0. You can’t write React without these tools.
a) Install Node.js and npm
- What it is: Node.js is a JavaScript runtime (it lets you run JS outside the browser). npm is the Node Package Manager, which you’ll use to install React and other libraries.
- Action:
- Go to the official Node.js website:
https://nodejs.org/en/download - Download the installer for “LTS” (Long Term Support). This is the most stable version.
- Run the installer and accept all the defaults.
- Go to the official Node.js website:
- How to check: Open your terminal (Terminal on Mac, or PowerShell/Git Bash on Windows) and type these commands. You should see a version number for each:Bash
node -v
npm -v
b) Install Your Code Editor: VS Code
- What it is: The most popular code editor for web development.
- Action:
- Go to the official Visual Studio Code website:
https://code.visualstudio.com/ - Download and install it.
- Go to the official Visual Studio Code website:
c) Configure VS Code with Extensions
- What it is: Extensions add features to VS Code to make writing React much easier.
- Action:
- Open VS Code.
- Click the “Extensions” icon on the left-hand sidebar (it looks like four squares).
- Search for and install these extensions. I highly recommend them:
- ES7+ React/Redux/React-Native snippets: This is a huge time-saver. It lets you type shortcodes (like
rafce) to automatically generate a full React component. - Prettier – Code formatter: This will automatically format your code to keep it clean and consistent every time you save.
- ESLint: This finds errors in your code as you type, helping you catch bugs early.
- ES7+ React/Redux/React-Native snippets: This is a huge time-saver. It lets you type shortcodes (like



