"Confidence doesn't come from watching lectures. It comes from DOING."
if you find this helpful in your journey please give ⭐
A personal React practice repository documenting my journey from JavaScript fundamentals to React mastery — one component at a time. 💪
After completing JavaScript in 10 days, this is my React learning journey. Every file here represents real hands-on practice — no copy-paste, no shortcuts. Just genuine learning through building real things!!
Started: 2 May 2026 Goal: Master React and build full MERN stack projects 🎯 Previous: JavaScript Practice — 200+ unique cloners!!
| Topic | Concepts |
|---|---|
| Components | Functional components, JSX, export/import |
| Props | Passing data, boolean props, array props, nested components |
| useState | Dynamic data, re-rendering, state management |
- useEffect
- Fetch API in React
- Conditional Rendering
- Forms in React
- React Router
- Context API
- Custom Hooks
// basic component
function Greeting({ name, city }) {
return <h1>Hi I am {name} from {city}!!</h1>
}
// use it anywhere!!
<Greeting name="Muskan" city="Kanpur" />
<Greeting name="Priya" city="Delhi" />// string prop
<Card title="iPhone" />
// number prop
<Card price={80000} />
// boolean prop
<Card isAvailable={true} />
// array prop
<Card skills={["React", "Node", "MongoDB"]} />
// inline style prop
<Button style={{ backgroundColor: "blue" }} />import { useState } from 'react'
function Counter() {
const [count, setCount] = useState(0)
return (
<>
<h1>{count}</h1>
<button onClick={() => setCount(count + 1)}>+</button>
<button onClick={() => setCount(count - 1)}>-</button>
</>
)
}// className not class!!
<div className="card"> ✅
<div class="card"> ❌
// camelCase events!!
onClick ✅
onChange ✅
onclick ❌
// always add key in map!!
items.map((item) => (
<Card key={item.id} title={item.title} />
))
// fragment - wrap multiple elements!!
return (
<>
<h1>Hello</h1>
<p>World</p>
</>
)
// curly braces for JS expressions!!
<h1>{name}</h1>
<h1>{2 + 2}</h1>
<h1>{isTrue ? "Yes" : "No"}</h1>- Basic Hello component
- UserCard with name and city props
- ProductCard with name and price
- SkillList with array prop
- StatusBadge with boolean prop
- Header, About, Footer components
- Reusable MyButton with color prop
- ProfileCard with multiple props
- StudentList with array of objects
- Nested components!!
- Counter with +/-
- Toggle show/hide
- Live input preview
- Random color changer
- Like button
- Todo list
- Form with validation
- Calculator
- Shopping cart
- Quiz app
| Day | Date | Topics | Hours |
|---|---|---|---|
| Day 1 | 2 May 2026 | Components, Props, JSX basics | 4 hrs |
| Day 2 | 3 May 2026 | UsesState,Function methods,Exercises | 3 hrs |
# Clone the repo
git clone https://github.com/muskanm07/React-Practice.git
# Install dependencies
cd React-Practice
npm install
# Start dev server
npm run dev
# Open browser
# http://localhost:5173- 📝 JavaScript Practice — 82+ unique cloners!!
- 🥘 Pantry Tracker
- 🎮 Simon Says Game
⭐ If this repo helped you — drop a star!! It means a lot!! 🙏
Made with 💙 and cold coffee!! ☕🔥 JS Practice got 200+ unique cloners — let's see how far React goes!! 😄