Your Page Title
🔍

    React Tutorial

    What is React?

    React is a JavaScript library developed by Meta (Facebook) to build fast and interactive user interfaces for web and mobile apps. It helps developers create reusable UI components and manage the application state efficiently.

    If you’ve used HTML, CSS, and JavaScript, React makes it easy to build complex UIs using simple code.


    Why Learn React?

    • It’s popular – used by companies like Facebook, Instagram, Netflix.
    • Supports reusable components – write once, use anywhere.
    • High performance due to Virtual DOM.
    • Easy to manage large-scale apps with state and props.

    Prerequisites

    Before learning React, you should know:

    • Basic HTML
    • Basic CSS
    • Basic JavaScript (especially functions, arrays, and objects)

    Setting Up React

    You can create a React project in 2 simple ways:

    1. Using Create React App (Recommended)

    npx create-react-app my-app
    cd my-app
    npm start

    This opens your project at http://localhost:3000/.

    2. Using CodeSandbox (Online Editor)

    Go to https://codesandbox.io, choose “React” template – done!


    React Basics

    Components

    In React, everything is a component. Components are like JavaScript functions that return HTML.

    Example:

    function Welcome() {
    return <h1>Hello, React!</h1>;
    }

    You use it like this:

    <Welcome />

    Props (Short for “Properties”)

    Props allow you to pass data from one component to another.

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

    // Usage
    <Welcome name="XYZ" />

    State

    State lets components keep track of data that can change.

    import React, { useState } from 'react';

    function Counter() {
    const [count, setCount] = useState(0);

    return (
    <>
    <p>You clicked {count} times</p>
    <button onClick={() => setCount(count + 1)}>Click Me</button>
    </>
    );
    }

    Event Handling

    React handles events like onClick, onChange using camelCase syntax.

    function Greet() {
    const sayHi = () => alert("Hi!");
    return <button onClick={sayHi}>Say Hi</button>;
    }

    Conditional Rendering

    You can show content based on a condition.

    function Greeting(props) {
    if (props.isLoggedIn) {
    return <h1>Welcome Back!</h1>;
    } else {
    return <h1>Please Log In</h1>;
    }
    }

    Folder Structure (Basic)

    my-app/
    ├── public/
    ├── src/
    │ ├── App.js // Main component
    │ ├── index.js // Entry point
    │ └── components/ // Your custom components

    JSX – JavaScript + XML

    JSX lets you write HTML in JavaScript.

    const element = <h1>Hello World</h1>;

    Note: JSX must return a single parent element. Use <> </> fragments if needed.


    Useful React Hooks

    • useState() – for managing local state
    • useEffect() – for side effects like API calls
    • useRef() – to reference DOM elements

    How React Works (Simplified)

    1. You write components in JSX.
    2. React converts JSX into JavaScript.
    3. React updates the Virtual DOM.
    4. React only updates the real DOM where changes happened, making it fast.

    Styling in React

    You can style using:

    • CSS files
    • Inline styles
    • CSS modules
    • Styled-components (advanced)
    const titleStyle = { color: 'blue', fontSize: '20px' };
    <h1 style={titleStyle}>Styled Text</h1>

    React Router (For Navigation)

    To switch pages without refreshing:

    npm install react-router-dom

    Example:

    import { BrowserRouter, Routes, Route } from 'react-router-dom';

    function App() {
    return (
    <BrowserRouter>
    <Routes>
    <Route path="/" element={<Home />} />
    <Route path="/about" element={<About />} />
    </Routes>
    </BrowserRouter>
    );
    }

    Making API Calls

    Use useEffect and fetch to get data from APIs.

    import { useEffect, useState } from 'react';

    function DataFetcher() {
    const [data, setData] = useState([]);

    useEffect(() => {
    fetch("https://api.example.com/items")
    .then(res => res.json())
    .then(data => setData(data));
    }, []);

    return (
    <ul>
    {data.map(item => <li key={item.id}>{item.name}</li>)}
    </ul>
    );
    }

    Testing Your App

    You can test your app with tools like:

    • Jest
    • React Testing Library

    Build and Deploy

    To create a production build:

    npm run build

    
    You can deploy to:
    • GitHub Pages
    • Netlify
    • Vercel

    Conclusion

    React is powerful, beginner-friendly, and used everywhere in modern web development. Start small, build reusable components, and as you grow, explore advanced tools like Redux, Context API, or Next.js.