Skip to content

Sagar Kunwar

Menu
  • Home
  • YouTube
  • Blog
  • Contact
  • Privacy Policy
Menu

Building a To-Do List App in React: Step by Step

Posted on June 7, 2025June 7, 2025 by Sagar Kunwar

Building a To-Do List App in React: Step by Step

Hey there! Ready to dive into the exciting world of React and build your very first to-do list app? This tutorial will walk you through the process step by step, so grab a cup of coffee, and let’s get started!

Why a To-Do List?

Before we dive into code, let’s talk about why we’re building a to-do list. It’s a classic beginner project because it touches on key concepts like components, state management, and event handling. Plus, it’s a nifty tool you might end up using in your daily life!

Setting Up Your Environment

Before we jump into the coding part, you’ll need to set up your development environment. Here’s a checklist to make sure you’re ready to go:

1. Install Node.js and npm

React relies on Node.js, so if you don’t have it installed yet, download it from nodejs.org.

2. Create a React App

Once Node.js is up and running, creating a React app is as easy as pie, thanks to Create React App. Open your terminal and run:

bash
npx create-react-app my-todo-app

This command bootstraps a new React project named my-todo-app.

3. Navigate to Your Project Directory

bash
cd my-todo-app

And fire up the development server with:

bash
npm start

Your default browser should automatically open http://localhost:3000, displaying the default React page. Perfect! Now, we’re set for some coding magic.

Building Your To-Do List App

With your environment all dressed up and ready, let’s roll up our sleeves and start coding.

Step 1: Clean Up and Set the Stage

Let’s clear out some clutter first:

– In the src folder, delete everything inside except index.js.
– Create a new file named App.js.

#### The Basic Structure of App.js

In your App.js, set up a basic functional component:

jsx
import React from 'react';

function App() {
return (

My To-Do List



);
}

export default App;

Update index.js to import the App component:

jsx
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';

ReactDOM.render(, document.getElementById('root'));

Step 2: Design the List Structure

We’ll design our to-do list using a simple HTML structure:

– An input field to enter new to-dos
– A button to add these to-dos to the list
– A list to display added items

Here’s a fleshed-out version of App.js:

jsx
import React, { useState } from 'react';

function App() {
const [tasks, setTasks] = useState([]);
const [inputValue, setInputValue] = useState('');

const handleInputChange = (e) => {
setInputValue(e.target.value);
};

const handleAddTask = () => {
setTasks([...tasks, inputValue]);
setInputValue('');
};

return (

My To-Do List


type="text"
value={inputValue}
onChange={handleInputChange}
placeholder="Add a new task"
/>


    {tasks.map((task, index) => (
  • {task}

  • ))}


);
}

export default App;

Step 3: Understanding the Code

– State Management: We’re using React’s useState to manage our to-do tasks and the input field.
– Event Handlers: handleInputChange updates the inputValue state as users type. handleAddTask updates the tasks state with the new task and clears the input.

Step 4: Improving the App

Let’s add some extra flair!

#### Styling with CSS

Open index.css and style your app:

css
.App {
text-align: center;
margin-top: 50px;
}

input {
margin-right: 10px;
padding: 5px;
}

button {
padding: 5px 10px;
}

ul {
list-style-type: none;
padding: 0;
}

#### Delete Functionality

Enhance the app to allow task deletion via a new button:

jsx
const handleDeleteTask = (index) => {
const newTasks = tasks.filter((_, i) => i !== index);
setTasks(newTasks);
};

...


    {tasks.map((task, index) => (

  • {task}


  • ))}

Your Turn: Enhance the App!

Congratulations! You’ve built a basic to-do list app using React. But the fun doesn’t stop here. Try adding some of these features:

– Completion Toggle: Add a checkbox to mark tasks as complete.
– Local Storage: Save your tasks even when the page refreshes.
– Edit Tasks: Allow users to edit tasks in the list.

Conclusion

Building a to-do list app in React is a fantastic way to get comfortable with the library’s basics. I hope this tutorial was helpful and has inspired you to keep on coding. Remember, the best way to learn is by doing, so keep experimenting and creating!

Feel free to leave comments or questions below—I’m here to help. Happy coding!

(Visited 7 times, 1 visits today)

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Understanding the DOM: A JavaScript Hands-On Walkthrough
  • Deploy Your Full-Stack App to Render in Under 10 Minutes
  • Beginner’s Guide: How to Use Firebase Realtime Database
  • Guide to Responsive Images with `srcset`

Categories

  • Blog
  • Javascript
  • PHP
  • Support
  • Uncategorized
  • Web Hosting
June 2025
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930  
« May   Jul »
© 2026 Sagar Kunwar | Powered by Superbs Personal Blog theme