Anonymous
Получение Data.Map не является функцией
Сообщение
Anonymous » 31 янв 2025, 06:40
Код: Выделить всё
import { useState, useEffect } from "react";
import { TodoProvider } from "./contexts/TodoContext";
import TodoForm from "./components/TodoForm";
import TodoItem from "./components/TodoItem";
function App() {
const [todos, setTodos] = useState([]);
const addTodo = (todo) => {
setTodos((prev) => [{ id: Date.now(), ...todo }, ...prev]);
};
const updateTodo = (id, todo) => {
setTodos((prev) =>
prev.map((prevTodo) => (prevTodo.id === id ? todo : prevTodo))
);
};
const deleteTodo = (id) => {
setTodos((prev) => prev.filter((prevTodo) => prevTodo.id !== id));
};
const toggleComplete = (id) => {
setTodos((prev) =>
prev.map((prevtodo) =>
prevtodo.id === id
? { ...prevtodo, completed: !prevtodo.completed }
: prevtodo
)
);
};
useEffect(() => {
const todosLocal = JSON.parse(localStorage.getItem("todos"));
if (todosLocal && todosLocal.length > 0) {
setTodos(todosLocal);
}
}, []);
useEffect(() => {
localStorage.setItem("todos", JSON.stringify("todos"));
}, [todos]);
return (
Hello
Manage Your Todos
{/* Todo form goes here */}
{todos.map((todo) => (
))}
);
}
export default App;
Я получаю ошибку
todos.map не является функцией, только эта строка дает ошибку, если я удаляю Div от сопоставления, то код работает нормально.
Все другие функции и компоненты работают нормально, тогда почему это не работает. /п>
Подробнее здесь:
https://stackoverflow.com/questions/794 ... a-function
1738294830
Anonymous
[code]import { useState, useEffect } from "react"; import { TodoProvider } from "./contexts/TodoContext"; import TodoForm from "./components/TodoForm"; import TodoItem from "./components/TodoItem"; function App() { const [todos, setTodos] = useState([]); const addTodo = (todo) => { setTodos((prev) => [{ id: Date.now(), ...todo }, ...prev]); }; const updateTodo = (id, todo) => { setTodos((prev) => prev.map((prevTodo) => (prevTodo.id === id ? todo : prevTodo)) ); }; const deleteTodo = (id) => { setTodos((prev) => prev.filter((prevTodo) => prevTodo.id !== id)); }; const toggleComplete = (id) => { setTodos((prev) => prev.map((prevtodo) => prevtodo.id === id ? { ...prevtodo, completed: !prevtodo.completed } : prevtodo ) ); }; useEffect(() => { const todosLocal = JSON.parse(localStorage.getItem("todos")); if (todosLocal && todosLocal.length > 0) { setTodos(todosLocal); } }, []); useEffect(() => { localStorage.setItem("todos", JSON.stringify("todos")); }, [todos]); return ( Hello Manage Your Todos {/* Todo form goes here */} {todos.map((todo) => ( ))} ); } export default App; [/code] Я получаю ошибку [b] todos.map [/b] не является функцией, только эта строка дает ошибку, если я удаляю Div от сопоставления, то код работает нормально. Все другие функции и компоненты работают нормально, тогда почему это не работает. /п> Подробнее здесь: [url]https://stackoverflow.com/questions/79401719/getting-data-map-is-not-a-function[/url]