-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
❓문제
다음 컴포넌트에서 상태 관리 가이드 법칙을 위반한 곳이 있다면 알려주세요. 그리고 타입스크립트를 적용하면서 이를 리팩토링 해주세요!
import { useState } from 'react'
const TodoList = () => {
const [tasks, setTasks] = useState([])
const [completedTasks, setCompletedTasks] = useState([])
const addTask = (task) => {
setTasks([...tasks, task])
}
const completeTask = (index) => {
const task = tasks[index]
setTasks(tasks.filter((_, i) => i !== index))
setCompletedTasks([...completedTasks, task])
}
return (
<div>
<h1>Todo List</h1>
<ul>
{tasks.map((task, index) => (
<li key={index}>
{task}
<button onClick={() => completeTask(index)}>Complete</button>
</li>
))}
</ul>
<div>
<h2>Completed Tasks</h2>
<ul>
{completedTasks.map((task, index) => (
<li key={index}>{task}</li>
))}
</ul>
</div>
<input
type="text"
placeholder="New Task"
onKeyDown={(e) => {
if (e.key === 'Enter') addTask(e.target.value)
}}
/>
</div>
)
}
export default TodoList🎯답변
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels