Keep Todo Data After Refresh: Adding Local Storage in React
Keep Todo Data After Refresh: Adding Local Storage in React
In this guide, we will learn how to store and retrieve Todo data using
localStorage in React, ensuring data persistence even after a page refresh.
Why Use Local Storage?
- Prevents data loss when the page is refreshed.
- Saves user progress without requiring a backend.
- Improves user experience by retaining task lists.
Implementation Steps
Follow these steps to integrate local storage into your React Todo App.
React Code Example
import React, { useState, useEffect } from "react";
function TodoApp() {
const [tasks, setTasks] = useState([]);
// Load tasks from localStorage on component mount
useEffect(() => {
const storedTasks = JSON.parse(localStorage.getItem("tasks")) || [];
setTasks(storedTasks);
}, []);
// Save tasks to localStorage whenever tasks change
useEffect(() => {
localStorage.setItem("tasks", JSON.stringify(tasks));
}, [tasks]);
const addTask = (task) => {
const updatedTasks = [...tasks, task];
setTasks(updatedTasks);
};
return (
Todo List
{tasks.map((task, index) => (
- {task}
))}
);
}
export default TodoApp;
Best Practices
- Always parse JSON when retrieving data from local storage.
- Store only essential data to prevent excessive local storage usage.
- Keep data updates synchronized with state changes using useEffect
.