— React, JavaScript, Front-end Development — 1 min read
In this tutorial, we will walk through the process of creating a simple todo list application using React. React is a powerful JavaScript library that allows you to build dynamic and interactive user interfaces. By the end of this tutorial, you will have a basic understanding of how React works and how to create a functional todo list app.
Here are the steps we'll follow:
1npx create-react-app todo-list-app
src
folder of your project, create a new file called TodoList.js
. This will be our main component for rendering the todo list. Inside the file, add the following code:1import React from 'react';2
3const TodoList = () => {4 return (5 <div>6 <h1>Todo List</h1>7 {/* Add todo items here */}8 </div>9 );10};11
12export default TodoList;
TodoList.js
file with the following:1import React, { useState } from 'react';2
3const TodoList = () => {4 const [todos, setTodos] = useState([]);5
6 const addTodo = (task) => {7 setTodos([...todos, task]);8 };9
10 return (11 <div>12 <h1>Todo List</h1>13 <ul>14 {todos.map((todo, index) => (15 <li key={index}>{todo}</li>16 ))}17 </ul>18
19 <input type="text" placeholder="Add todo" />20 <button>Add</button>21 </div>22 );23};24
25export default TodoList;
addTodo
function to handle the addition of new todo items. Update the code inside the TodoList.js
file as follows:1import React, { useState } from 'react';2
3const TodoList = () => {4 const [todos, setTodos] = useState([]);5 const [task, setTask] = useState('');6
7 const addTodo = () => {8 if (task.trim() !== '') {9 setTodos([...todos, task]);10 setTask('');11 }12 };13
14 return (15 <div>16 <h1>Todo List</h1>17 <ul>18 {todos.map((todo, index) => (19 <li key={index}>{todo}</li>20 ))}21 </ul>22
23 <input24 type="text"25 value={task}26 placeholder="Add todo"27 onChange={(e) => setTask(e.target.value)}28 />29 <button onClick={addTodo}>Add</button>30 </div>31 );32};33
34export default TodoList;
TodoList.css
in the same folder as TodoList.js
and add the following CSS code:1.container {2 max-width: 400px;3 margin: 0 auto;4 padding: 20px;5}6
7h1 {8 text-align: center;9}10
11ul {12 list-style-type: none;13 padding: 0;14}15
16li {17 margin-bottom: 10px;18}19
20input[type='text'] {21 width: 100%;22 padding: 5px;23 margin-bottom: 10px;24}25
26button {27 display: block;28 width: 100%;29 padding: 10px;30 background-color: #4caf50;31 color: white;32 border: none;33}
TodoList.css
file into TodoList.js
to apply the styles. Update the import statement at the top of the file as follows:1import React, { useState } from 'react';2import './TodoList.css';
That's it! You've successfully created a simple todo list app using React. You can now add new todos by typing in the input field and clicking the "Add" button. The todo items will be displayed in a list below the input field.