Implemented React Learning
A simple and interactive to-do list app built using:
- React (UI framework)
- TypeScript (type safety)
- LocalStorage (data persistence)
- Custom Hooks (logic separation)
Features:
- Add tasks (duplicates prevented)
- Mark tasks complete/incomplete
- Delete tasks
- Save tasks after refresh
- Modern UI with hover effects
src/
- βββ main.tsx # App entry point
- βββ App.tsx # Root component
- βββ components/ # UI components
- β βββ AddTodo.tsx # Add task form
- β βββ TodoItem.tsx# Single task display
- β βββ TodoList.tsx# Task list display
- βββ hooks/ # Custom hooks
- β βββ useTodos.ts # State + LocalStorage logic
- βββ types/ # Type definitions
- β βββ todo.ts # Todo interface
- βββ styles/
- βββ globals.css # App styling
-
State & Persistence
useTodoshook manages todos.- Reads from
localStorageon load. - Saves to
localStoragewhen todos change.
-
Adding Tasks
AddTodocallsaddTodoinuseTodos.- Prevents duplicates (case-insensitive).
-
Toggling & Deleting
TodoItemlets you check/uncheck or delete a task.
npm create vite@latest react-app --template react-ts
cd react-app
# Replace src/ with project files
npm install
npm run dev
π― Possible Upgrades
Filters: All / Active / Completed
Edit task names
Dark mode toggle
Animations with Framer Motion