A JavaScript Library for Building User Interfaces
What is ReactJS? A JavaScript library developed by Facebook for building UIs. It is component-based, declarative, and efficient.
Why React?
Install Node.js (LTS version). Create a React project:
npx create-react-app my-app cd my-app npm start
Alternative (Vite):
npm create vite@latest my-app cd my-app npm install npm run dev
const element = <h1>Hello, React!</h1>;
Rules:
{} for JS expressionsclassName)Functional Component:
function Welcome() {
return <h1>Hello, World!</h1>;
}
Class Component:
class Welcome extends React.Component {
render() {
return <h1>Hello, World!</h1>;
}
}
function Greeting(props) {
return <h1>Hello, {props.name}!</h1>;
}
<Greeting name="Alice" />
import React, { useState } from "react";
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Count: {count}</p>
<button onClick={() => setCount(count + 1)}>Increment</button>
</div>
);
}
import React, { useState, useEffect } from "react";
function Timer() {
const [seconds, setSeconds] = useState(0);
useEffect(() => {
const interval = setInterval(() => {
setSeconds(s => s + 1);
}, 1000);
return () => clearInterval(interval);
}, []);
return <p>Timer: {seconds} sec</p>;
}
function ClickButton() {
function handleClick() {
alert("Button clicked!");
}
return <button onClick={handleClick}>Click Me</button>;
}
function UserGreeting(props) {
return props.isLoggedIn ? <h1>Welcome Back!</h1> : <h1>Please Sign In</h1>;
}
function ItemList() {
const items = ["Apple", "Banana", "Cherry"];
return (
<ul>
{items.map((item, index) => (
<li key={index}>{item}</li>
))}
</ul>
);
}
function MyForm() {
const [name, setName] = useState("");
const handleSubmit = (e) => {
e.preventDefault();
alert(`Hello ${name}`);
};
return (
<form onSubmit={handleSubmit}>
<input value={name} onChange={(e) => setName(e.target.value)} />
<button type="submit">Submit</button>
</form>
);
}
npm install react-router-dom
import { BrowserRouter, Routes, Route, Link } from "react-router-dom";
function App() {
return (
<BrowserRouter>
<nav>
<Link to="/">Home</Link>
<Link to="/about">About</Link>
</nav>
<Routes>
<Route path="/" element={<h1>Home</h1>} />
<Route path="/about" element={<h1>About</h1>} />
</Routes>
</BrowserRouter>
);
}
Context API:
const ThemeContext = React.createContext("light");
function App() {
return (
<ThemeContext.Provider value="dark">
<Toolbar />
</ThemeContext.Provider>
);
}
For large apps: Redux, Zustand, Recoil.
<h1 style={{ color: "blue" }}>Hello</h1>import styles from "./App.module.css";const Button = styled.button`background: blue; color: white;`;© 2025 ReactJS Tutorial