Обновление данных для рендринга

This commit is contained in:
2026-05-19 19:47:11 +03:00
parent ec325b51bc
commit c99a045400
2 changed files with 65 additions and 1 deletions
+50 -1
View File
@@ -1,6 +1,55 @@
// удаляем все, оставляя лишь пустую функцию App ниже
import { useState } from 'react'
function App() {
const [tasks,setTasks] = useState([]);
//Неправильный вариант решения
const toggleTask = taskId => {
const task = tasks.find(t => t.id === taskId);
task.complite = !task.complite; // Мутация
setTasks(tasks)
}
//Правильный вариант решения
const toggleTask = taskId => {
setTasks(tasks.map(task =>
task.id === taskId ? {...task, complite: !task.complite} : task
))
}
const [user, setUser] = useState({
name:'Иван',
email:'ivan@example.com',
age: 22,
address: {
city: 'Syktyvkar',
street: 'Babushkina',
house: 19,
}
})
const updateName = newName => {
setUser({
...user,
name: newName,
});
}
const updateProfile = updates => {
setUser({
...user,
...updates,
});
}
const updateCity = newCity => {
setUser(
...user,
address: {
...user.address,
city: newCity
}
);
}
return (
<>
{/* Добавьте тестовый контент для проверки */}