Вопрос проверяет понимание управления состоянием в React и обработки событий для изменения данных задачи.
Переключение статуса задачи — это типичная задача при работе со списками в React. Основная идея заключается в том, чтобы хранить массив объектов задач в состоянии компонента и при каждом действии пользователя (например, клике на чекбокс) обновлять этот массив, изменяя свойство статуса у конкретной задачи.
Рассмотрим простой компонент TodoList, который отображает список задач и позволяет переключать их статус с 'выполнено' на 'не выполнено' и обратно.
import React, { useState } from 'react';
function TodoList() {
const [tasks, setTasks] = useState([
{ id: 1, text: 'Изучить React', completed: false },
{ id: 2, text: 'Написать код', completed: true }
]);
const toggleTask = (taskId) => {
setTasks(prevTasks =>
prevTasks.map(task =>
task.id === taskId
? { ...task, completed: !task.completed }
: task
)
);
};
return (
<ul>
{tasks.map(task => (
<li key={task.id}>
<input
type="checkbox"
checked={task.completed}
onChange={() => toggleTask(task.id)}
/>
{task.text}
</li>
))}
</ul>
);
}Такой подход применяется в любых React-приложениях, где нужно управлять списками данных с возможностью изменения отдельных элементов. Он прост, эффективен и легко масштабируется на более сложные сценарии, например, с использованием Redux или Context API.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию