Web Development
77.2K subscribers
1.31K photos
1 video
2 files
606 links
Learn Web Development From Scratch

0️⃣ HTML / CSS
1️⃣ JavaScript
2️⃣ React / Vue / Angular
3️⃣ Node.js / Express
4️⃣ REST API
5️⃣ SQL / NoSQL Databases
6️⃣ UI / UX Design
7️⃣ Git / GitHub

Admin: @love_data
Download Telegram
Which method is used to add or remove a CSS class dynamically?
Anonymous Quiz
24%
B. element.setAttribute()
34%
C. element.classList.toggle()
23%
D. element.addClass()
5
Now, let's move to the the next topic:

🖱️ JavaScript Events

Events are actions performed by the user or the browser.

Examples
• Clicking a button
• Typing in input
• Submitting a form
• Pressing a key
• Page loading

JavaScript listens to these events and responds.

🧠 Why Events Matter

Without events
• No button clicks
• No form submission handling
• No real interactivity

Events = user + JavaScript talking to each other 🤝

🎧 Event Listener Concept

JavaScript listens for an event and runs a function.

Syntax: element.addEventListener("event", function);

🖱️ Click Event

HTML:
<button id="btn">Click Me</button>

JavaScript:
const btn = document.getElementById("btn");
btn.addEventListener("click", () => {
console.log("Button clicked");
});

Use cases:
• Toggle theme
• Open modal
• Submit action

⌨️ Input Event
Triggered when user types.

HTML:
<input type="text" id="name" />

JavaScript:

const input = document.getElementById("name");
input.addEventListener("input", () => {
console.log(input.value);
});

Use cases:
• Live validation
• Search suggestions

📤 Submit Event
Used for forms.
HTML:
<form id="myForm"> <input type="email" /> <button>Submit</button>
</form>

JavaScript:

const form = document.getElementById("myForm");
form.addEventListener("submit", (e) => {
e.preventDefault();
console.log("Form submitted");
});

⚠️ preventDefault() stops page reload.

⌨️ Keyboard Events
Common types:
• keydown
• keyup

Example:
document.addEventListener("keydown", (e) => {
console.log(e.key);
});

Use cases:
• Shortcuts
• Game controls

🧩 Event Object
Event object gives details.

Common properties:
e.target
• e.type
• e.key
btn.addEventListener("click", (e) => {
console.log(e.target);
});

⚠️ Common Beginner Mistakes
• Forgetting preventDefault()
• Using inline HTML events
• Attaching event before DOM loads
• Using wrong event type

🧪 Mini Practice Task
• Add click event to change text
• Show live input value
• Prevent form submission reload
• Detect key press


Mini Practice Task – Solution
🖱️ JavaScript Events

🟦 1️⃣ Add click event to change text

HTML
<h2 id="text">Hello</h2> <button id="btn">Change Text</button>

JavaScript

const text = document.getElementById("text");
const btn = document.getElementById("btn");
btn.addEventListener("click", () => {
text.textContent = "Text changed!";
});

✔️ Text updates on button click

🟩 2️⃣ Show live input value

HTML
<input type="text" id="inputBox" /> <p id="output"></p>

JavaScript

const input = document.getElementById("inputBox");
const output = document.getElementById("output");
input.addEventListener("input", () => {
output.textContent = input.value;
});

✔️ Text updates as user types

🟥 3️⃣ Prevent form submission reload

HTML
<form id="myForm"> <input type="email" required /> <button>Submit</button> </form>

JavaScript

const form = document.getElementById("myForm");
form.addEventListener("submit", (e) => {
e.preventDefault();
console.log("Form submitted without reload");
});

✔️ Page does not refresh

⌨️ 4️⃣ Detect key press

JavaScript

document.addEventListener("keydown", (e) => {
console.log("Key pressed:", e.key);
});

✔️ Logs pressed key in console

🧠 What you learned
• Handling click events
• Real-time input tracking
• Form control
• Keyboard event handling


➡️ Double Tap ♥️ For More
14
🌐 Complete Roadmap to Become a Web Developer

📂 1. Learn the Basics of the Web
– How the internet works
– What is HTTP/HTTPS, DNS, Hosting, Domain
– Difference between frontend & backend

📂 2. Frontend Development (Client-Side)
📌 HTML – Structure of web pages
📌 CSS – Styling, Flexbox, Grid, Media Queries
📌 JavaScript – DOM Manipulation, Events, ES6+
📌 Responsive Design – Mobile-first approach
📌 Version Control – Git & GitHub

📂 3. Advanced Frontend
📌 JavaScript Frameworks/Libraries – React (recommended), Vue or Angular
📌 Package Managers – npm or yarn
📌 Build Tools – Webpack, Vite
📌 APIs – Fetch, REST API integration
📌 Frontend Deployment – Netlify, Vercel

📂 4. Backend Development (Server-Side)
📌 Choose a Language – Node.js (JavaScript), Python, PHP, Java, etc.
📌 Databases – MongoDB (NoSQL), MySQL/PostgreSQL (SQL)
📌 Authentication & Authorization – JWT, OAuth
📌 RESTful APIs / GraphQL
📌 MVC Architecture

📂 5. Full-Stack Skills
📌 MERN Stack – MongoDB, Express, React, Node.js
📌 CRUD Operations – Create, Read, Update, Delete
📌 State Management – Redux or Context API
📌 File Uploads, Payment Integration, Email Services

📂 6. Testing & Optimization
📌 Debugging – Chrome DevTools
📌 Performance Optimization
📌 Unit & Integration Testing – Jest, Cypress

📂 7. Hosting & Deployment
📌 Frontend – Netlify, Vercel
📌 Backend – Render, Railway, or VPS (e.g. DigitalOcean)
📌 CI/CD Basics

📂 8. Build Projects & Portfolio
– Blog App
– E-commerce Site
– Portfolio Website
– Admin Dashboard

📂 9. Keep Learning & Contributing
– Contribute to open-source
– Stay updated with trends
– Practice on platforms like LeetCode or Frontend Mentor

Apply for internships/jobs with a strong GitHub + portfolio!

👍 Tap ❤️ for more!
23
24 Youtube Channels for Web Developers

Academind
Clever Programmer
Codecourse
Coder Coder
DevTips
DerekBanas
Fireship
FreeCodeCamp
FlorinPop
Google Developers
Joseph Smith
KevinPowell
LearnCode academy
LearnWebCode
LevelUpTuts
Netanel Peles
Programming with Mosh
SteveGriffith
TheNetNinja
TheNewBoston
TraversyMedia
Treehouse
WebDevSimplified
Codewithharry
31👍5
Which method is used to attach an event listener in JavaScript?
Anonymous Quiz
9%
A. element.addEvent()
8%
B. element.attachEvent()
80%
C. element.addEventListener()
3%
D. element.listen()
1
3
Which event is triggered when a user types inside an input field?
Anonymous Quiz
16%
A. click
26%
B. change
44%
C. input
14%
D. keypress
1
Which event is best used to detect when a key is pressed down?
Anonymous Quiz
47%
A. keydown
4%
B. keyup
40%
C. keypress
8%
D. input
2
Master Javascript :

The JavaScript Tree 👇
|
|── Variables
| ├── var
| ├── let
| └── const
|
|── Data Types
| ├── String
| ├── Number
| ├── Boolean
| ├── Object
| ├── Array
| ├── Null
| └── Undefined
|
|── Operators
| ├── Arithmetic
| ├── Assignment
| ├── Comparison
| ├── Logical
| ├── Unary
| └── Ternary (Conditional)
||── Control Flow
| ├── if statement
| ├── else statement
| ├── else if statement
| ├── switch statement
| ├── for loop
| ├── while loop
| └── do-while loop
|
|── Functions
| ├── Function declaration
| ├── Function expression
| ├── Arrow function
| └── IIFE (Immediately Invoked Function Expression)
|
|── Scope
| ├── Global scope
| ├── Local scope
| ├── Block scope
| └── Lexical scope
||── Arrays
| ├── Array methods
| | ├── push()
| | ├── pop()
| | ├── shift()
| | ├── unshift()
| | ├── splice()
| | ├── slice()
| | └── concat()
| └── Array iteration
| ├── forEach()
| ├── map()
| ├── filter()
| └── reduce()|
|── Objects
| ├── Object properties
| | ├── Dot notation
| | └── Bracket notation
| ├── Object methods
| | ├── Object.keys()
| | ├── Object.values()
| | └── Object.entries()
| └── Object destructuring
||── Promises
| ├── Promise states
| | ├── Pending
| | ├── Fulfilled
| | └── Rejected
| ├── Promise methods
| | ├── then()
| | ├── catch()
| | └── finally()
| └── Promise.all()
|
|── Asynchronous JavaScript
| ├── Callbacks
| ├── Promises
| └── Async/Await
|
|── Error Handling
| ├── try...catch statement
| └── throw statement
|
|── JSON (JavaScript Object Notation)
||── Modules
| ├── import
| └── export
|
|── DOM Manipulation
| ├── Selecting elements
| ├── Modifying elements
| └── Creating elements
|
|── Events
| ├── Event listeners
| ├── Event propagation
| └── Event delegation
|
|── AJAX (Asynchronous JavaScript and XML)
|
|── Fetch API
||── ES6+ Features
| ├── Template literals
| ├── Destructuring assignment
| ├── Spread/rest operator
| ├── Arrow functions
| ├── Classes
| ├── let and const
| ├── Default parameters
| ├── Modules
| └── Promises
|
|── Web APIs
| ├── Local Storage
| ├── Session Storage
| └── Web Storage API
|
|── Libraries and Frameworks
| ├── React
| ├── Angular
| └── Vue.js
||── Debugging
| ├── Console.log()
| ├── Breakpoints
| └── DevTools
|
|── Others
| ├── Closures
| ├── Callbacks
| ├── Prototypes
| ├── this keyword
| ├── Hoisting
| └── Strict mode
|
| END __
15🔥3🎉2
Form Validation using JavaScript

Form validation checks user input before submission.

🧠 Why Form Validation Matters

Without validation 
• Empty forms get submitted
• Wrong emails stored
• Bad data in database

Real examples 
• Email format check
• Password rules
• Required fields

🔍 Types of Form Validation

🔹 1. HTML Validation (Built-in) 
Browser handles validation automatically. 
Example <input type="email" required> 
✔️ Checks empty field 
✔️ Checks email format 

🔹 2. JavaScript Validation (Custom Logic) 
You control validation rules. 

Used for 
• Password strength
• Custom messages
• Complex conditions

📤 Basic Form Validation Flow 
1️⃣ User submits form 
2️⃣ JavaScript checks input 
3️⃣ If invalid → show error 
4️⃣ If valid → submit form 

✍️ Check Empty Input 
HTML 
<form id="form">
    <input type="text" id="username">
    <button>Submit</button>
</form>

 
JavaScript 
const form = document.getElementById("form");
form.addEventListener("submit", (e) => {
    const username = document.getElementById("username").value;
    if (username === "") {
        e.preventDefault();
        alert("Username is required");
    }
});

 
✔️ Stops submission if empty 

📧 Email Validation Example 
Check using pattern. 
const email = document.getElementById("email").value;
if (!email.includes("@")) {
    alert("Enter valid email");
}

 
Real projects use regular expressions. 

🔐 Password Length Validation 
if (password.length < 6) {
    alert("Password must be at least 6 characters");
}

 

🎨 Show Error Message in UI (Better Practice) 
HTML 
<input type="text" id="username">
<p id="error"></p>

 
JavaScript 
if (username === "") {
    error.textContent = "Username required";
}

 
✔️ Better than alert 
✔️ User-friendly 

⚠️ Common Beginner Mistakes 
• Forgetting preventDefault()
• Using only alerts
• No user feedback
• Weak validation rules

Best Practices 
• Validate on both client and server
• Show clear error messages
• Use simple rules first
• Give instant feedback

🧪 Mini Practice Task 
• Validate username is not empty
• Check email contains @
• Ensure password length ≥ 6
• Show error message on screen

Mini Practice Task Solution – Try it yourself first

This solution covers all 4 tasks: 
Username not empty 
Email contains @ 
Password length ≥ 6 
Show error message on screen 

📝 HTML 
<form id="form">
    <input type="text" id="username" placeholder="Enter username">
    <input type="text" id="email" placeholder="Enter email">
    <input type="password" id="password" placeholder="Enter password">
    <p id="error" style="color: red;"></p>
    <button type="submit">Submit</button>
</form>

 

JavaScript 
const form = document.getElementById("form");
const error = document.getElementById("error");
form.addEventListener("submit", (e) => {
    const username = document.getElementById("username").value.trim();
    const email = document.getElementById("email").value.trim();
    const password = document.getElementById("password").value.trim();
    error.textContent = ""; // clear previous errors
    // Username validation
    if (username === "") {
        e.preventDefault();
        error.textContent = "Username is required";
        return;
    }
    // Email validation
    if (!email.includes("@")) {
        e.preventDefault();
        error.textContent = "Enter a valid email";
        return;
    }
    // Password validation
    if (password.length < 6) {
        e.preventDefault();
        error.textContent = "Password must be at least 6 characters";
        return;
    }
});

 

What this code does 
• Stops form submission if input is invalid
• Shows error message on screen
• Validates step by step
• Clears old errors automatically

🧠 Key Learning 
• Use preventDefault() to stop submission
• Use .trim() to remove extra spaces
• Show errors in UI instead of alerts
• Validate fields one by one

Double Tap ♥️ For More
18👍4
Top 10 CSS Interview Questions

1. What is CSS and what are its key features?
CSS (Cascading Style Sheets) is a stylesheet language used to describe the presentation of a document written in HTML or XML. Its key features include controlling layout, styling text, setting colors, spacing, and more, allowing for a separation of content and design for better maintainability and flexibility.

2. Explain the difference between inline, internal, and external CSS.
- Inline CSS is applied directly within an HTML element using the style attribute.
- Internal CSS is defined within a <style> tag inside the <head> section of an HTML document.
- External CSS is linked to an HTML document via the <link> tag and is written in a separate .css file.

3. What is the CSS box model and what are its components?
The CSS box model describes the rectangular boxes generated for elements in the document tree and consists of four components:
- Content: The actual content of the element.
- Padding: The space between the content and the border.
- Border: The edge surrounding the padding.
- Margin: The space outside the border that separates the element from others.

4. How do you center a block element horizontally using CSS?
To center a block element horizontally, you can use the margin: auto; property. For example:
.center {
width: 50%;
margin: auto;
}

5. What are CSS selectors and what are the different types?
CSS selectors are patterns used to select elements to apply styles. The different types include:
- Universal selector (*)
- Element selector (element)
- Class selector (.class)
- ID selector (#id)
- Attribute selector ([attribute])
- Pseudo-class selector (:pseudo-class)
- Pseudo-element selector (::pseudo-element)

6. Explain the difference between absolute, relative, fixed, and sticky positioning in CSS.
- relative: The element is positioned relative to its normal position.
- absolute: The element is positioned relative to its nearest positioned ancestor or the initial containing block if none exists.
- fixed: The element is positioned relative to the viewport and does not move when the page is scrolled.
- sticky: The element is treated as relative until a given offset position is met in the viewport, then it behaves as fixed.

7. What is Flexbox and how is it used in CSS?
Flexbox (Flexible Box Layout) is a layout model that allows for more efficient arrangement of elements within a container. It is used to align and distribute space among items in a container, even when their size is unknown or dynamic. Flexbox is enabled by setting display: flex; on a container element.

8. How do you create a responsive design in CSS?
Responsive design can be achieved using media queries, flexible grid layouts, and relative units like percentages, em, and rem. Media queries adjust styles based on the viewport's width, height, and other characteristics. For example:
@media (max-width: 600px) {
.container {
width: 100%;
}
}

9. What are CSS preprocessors and name a few popular ones.
CSS preprocessors extend CSS with variables, nested rules, and functions, making it more powerful and easier to maintain. Popular CSS preprocessors include:
- Sass (Syntactically Awesome Style Sheets)
- LESS (Leaner Style Sheets)
- Stylus

10. How do you implement CSS animations?
CSS animations are implemented using the @keyframes rule to define the animation and the animation property to apply it to an element. For example:
@keyframes example {
from {background-color: red;}
to {background-color: yellow;}
}

.element {
animation: example 5s infinite;
}


Web Development Best Resources: https://topmate.io/coding/930165

ENJOY LEARNING 👍👍
11👍3🤔1
Which method prevents a form from submitting automatically?
Anonymous Quiz
10%
A. stopEvent()
75%
B. preventDefault()
10%
C. cancelSubmit()
5%
D. blockForm()
4
Which HTML attribute makes a field mandatory?
Anonymous Quiz
9%
A. validate
18%
B. placeholder
70%
C. required
4%
D. check
4
Which JavaScript method removes extra spaces from user input?
Anonymous Quiz
12%
A. strip()
8%
B. clean()
56%
C. trim()
24%
D. removeSpace()
9👏1
🚨Do not miss this (Top FREE AI certificate courses)
Enroll now in these 50+ Free AI certification courses , available for a limited time: https://docs.google.com/spreadsheets/d/1k0XXLD2e8FnXgN2Ja_mG4MI7w1ImW5AF_JKWUscTyq8/edit?usp=sharing

LIFETIME ACCESS
Top FREE AI, ML, & Python Certificate courses which will help to boost resume & in getting better jobs.
6
Now, let's do one mini project based on the topics we learnt so far:

🚀 Interactive Form with Validation

🎯 Project Goal
Build a signup form that:
Validates username
Validates email
Validates password
Shows success message
Prevents wrong submission

This is a real interview-level beginner project.

🧩 Project Structure
project/
├── index.html
├── style.css
└── script.js

📝 Step 1: HTML (Form UI)
<h2>Signup Form</h2>
<form id="form">
<input type="text" id="username" placeholder="Username">

<input type="text" id="email" placeholder="Email">

<input type="password" id="password" placeholder="Password">

<p id="error" style="color:red;"></p>
<p id="success" style="color:green;"></p>
<button type="submit">Register</button>
</form>
<script src="script.js"></script>

🎨 Step 2: Basic CSS (Optional Styling)
body { font-family: Arial; padding: 40px; }
input { padding: 10px; width: 250px; display:block; margin-bottom:10px; }
button { padding: 10px 20px; cursor: pointer; }

Step 3: JavaScript Logic
const form = document.getElementById("form");
const error = document.getElementById("error");
const success = document.getElementById("success");

form.addEventListener("submit", (e) => {
e.preventDefault();
const username = document.getElementById("username").value.trim();
const email = document.getElementById("email").value.trim();
const password = document.getElementById("password").value.trim();

error.textContent = "";
success.textContent = "";

if (username === "") {
error.textContent = "Username is required";
return;
}

if (!email.includes("@")) {
error.textContent = "Enter valid email";
return;
}

if (password.length < 6) {
error.textContent = "Password must be at least 6 characters";
return;
}

success.textContent = "Registration successful!";
});

What This Project Teaches
- DOM element selection
- Event handling
- Form validation logic
- UI feedback handling
- Real-world frontend workflow

How to Improve (Advanced Practice)
Try adding:
Password show/hide toggle
Email regex validation
Multiple error messages
Reset form after success
Store data in localStorage

➡️ Double Tap ♥️ For More
22🔥2
Most Common Web Development Interview Q&A 💡👨‍💻

🖥️ Frontend (HTML, CSS, JavaScript)

1️⃣ Q: What’s the difference between relative, absolute, fixed & sticky positioning in CSS?
👉 Relative: Moves relative to its normal position.
👉 Absolute: Positioned relative to nearest positioned ancestor.
👉 Fixed: Stays fixed relative to the viewport.
👉 Sticky: Switches between relative and fixed when scrolling.

2️⃣ Q: Explain the CSS Box Model.
👉 It consists of: Content → Padding → Border → Margin

3️⃣ Q: How do you improve website performance?
👉 Minify files, use lazy-loading, enable caching, code splitting, use CDN.

4️⃣ Q: What’s the difference between == and === in JS?
👉 == compares ×value only× (type coercion), === compares ×value + type×.

5️⃣ Q: How does event delegation work?
👉 Attach a single event listener to a parent element to handle events from its children.

6️⃣ Q: What are Promises & how is async/await different?
👉 Promises handle async operations. async/await is syntactic sugar for cleaner code.

7️⃣ Q: How does the browser render a page (Critical Rendering Path)?
👉 HTML → DOM + CSSOM → Render Tree → Layout → Paint

🛠️ Backend (Node.js, Express, APIs)

8️⃣ Q: What is middleware in Express?
👉 Functions that execute during request → response cycle. Used for auth, logging, etc.

9️⃣ Q: REST vs GraphQL?
👉 REST: Multiple endpoints. GraphQL: Single endpoint, fetch what you need.

🔟 Q: How do you handle authentication in Node.js?
👉 JWT tokens, sessions, OAuth strategies (like Google login).

1️⃣1️⃣ Q: Common HTTP status codes?
👉 200 = OK, 201 = Created, 400 = Bad Request, 401 = Unauthorized, 404 = Not Found, 500 = Server Error

1️⃣2️⃣ Q: What is CORS and how to enable it?
👉 Cross-Origin Resource Sharing — restricts requests from different domains.
Enable in Express with cors package:
const cors = require('cors');
app.use(cors());


🗂️ Database & Full Stack

1️⃣3️⃣ Q: SQL vs NoSQL – When to choose what?
👉 SQL: Structured, relational data (MySQL, Postgres)
👉 NoSQL: Flexible, scalable, unstructured (MongoDB)

1️⃣4️⃣ Q: What is Mongoose in MongoDB apps?
👉 ODM (Object Data Modeling) library for MongoDB. Defines schemas, handles validation & queries.

🌐 General / Deployment

1️⃣5️⃣ Q: How to deploy a full-stack app?
👉 Frontend: Vercel / Netlify
👉 Backend: Render / Heroku / Railway
👉 Add environment variables & connect frontend to backend via API URL.

👍 Tap ❤️ if this was helpful!
15👍3
⚛️ React Basics (Components, Props, State)

Now you move from simple websites → modern frontend apps.

React is used in real companies like Netflix, Facebook, Airbnb.

⚛️ What is React 
React is a JavaScript library for building UI. 
👉 Developed by Facebook 
👉 Used to build fast interactive apps 
👉 Component-based architecture 
Simple meaning 
• Break UI into small reusable pieces
Example 
• Navbar → component
• Card → component
• Button → component

🧱 Why React is Used 
Without React 
• DOM updates become complex
• Code becomes messy
React solves: 
Faster UI updates (Virtual DOM) 
Reusable components 
Clean structure 
Easy state management 

🧩 Core Concept 1: Components 
What is a component 
A component is a reusable UI block. 
Think like LEGO blocks. 

✍️ Simple React Component 
function Welcome() {
    return <h1>Hello User</h1>;
}

Use component 
<Welcome />


📦 Types of Components 
🔹 Functional Components (Most Used) 
function Header() {
    return <h1>My Website</h1>;
}
 
🔹 Class Components (Old) 
Less used today. 

Why components matter 
• Reusable code
• Easy maintenance
• Clean structure

📤 Core Concept 2: Props (Passing Data) 
What are props 
Props = data passed to components. 
Parent → Child communication. 

Example 
function Welcome(props) {
    return <h1>Hello {props.name}</h1>;
}

Use 
<Welcome name="Deepak" />

Output 👉 Hello Deepak 

🧠 Props Rules 
• Read-only
• Cannot modify inside component
• Used for customization

🔄 Core Concept 3: State (Dynamic Data) 
What is state 
State stores changing data inside component. 
If state changes → UI updates automatically. 

Example using useState 
import { useState } from "react";
function Counter() {
    const [count, setCount] = useState(0);
    return (
        <div>
            <p>{count}</p>
            <button onClick={() => setCount(count + 1)}>
                Increase
            </button>
        </div>
    );
}


🧠 How state works 
• count → current value
• setCount() → update value
• UI re-renders automatically
This is React’s biggest power. 

⚖️ Props vs State (Important Interview Question) 
| Props | State |
|-------|-------|
| Passed from parent | Managed inside component |
| Read-only | Can change |
| External data | Internal data |

⚠️ Common Beginner Mistakes 
• Modifying props
• Forgetting import of useState
• Confusing props and state
• Not using components properly

🧪 Mini Practice Task 
• Create a component that shows your name
• Pass name using props
• Create counter using state
• Add button to increase count

Mini Practice Task – Solution

🟦 1️⃣ Create a component that shows your name 
function MyName() {
    return <h2>My name is Deepak</h2>;
}
export default MyName;

Simple reusable component 
Displays static text 

📤 2️⃣ Pass name using props 
function Welcome(props) {
    return <h2>Hello {props.name}</h2>;
}
export default Welcome;

Use inside App.js 
<Welcome name="Deepak" />

Parent sends data 
Component displays dynamic value 

🔄 3️⃣ Create counter using state 
import { useState } from "react";
function Counter() {
    const [count, setCount] = useState(0);
    return <h2>Count: {count}</h2>;
}
export default Counter;

State stores changing value 
UI updates automatically 

4️⃣ Add button to increase count 
import { useState } from "react";
function Counter() {
    const [count, setCount] = useState(0);
    return (
        <div>
            <h2>Count: {count}</h2>
            <button onClick={() => setCount(count + 1)}>
                Increase
            </button>
        </div>
    );
}
export default Counter;

Click → state updates → UI re-renders 

🧩 How to use everything in App.js

import MyName from "./MyName";
import Welcome from "./Welcome";
import Counter from "./Counter";

function App() {
    return (
        <div>
            <MyName />
            <Welcome name="Deepak" />
            <Counter />
        </div>
    );
}
export default App;


➡️ Double Tap ♥️ For More
31🥰4🔥1