일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 제주베이스코딩100제
- 자바스크립트 기초활용
- 코딩
- 자바스크립트기초
- 프론트엔드
- 프론트엔드기술면접
- 웹퍼블리싱
- 주니어개발자
- 웹개발
- 프로그래밍 기초
- 자바스크립트 활용
- 자바스크립트 실습
- 생활코딩
- 웹퍼블리셔
- 코딩공부
- 코린이
- 포토샵
- 자바스크립트
- javascript
- 퍼블리싱
- 프로그래밍기초
- 취준생
- 프로그래밍
- 개발
- 퍼블리셔
- 대학생
- 자바스크립트 기초
- 웹퍼블리셔기술면접
- js
- frontend
Archives
- Today
- Total
차곡차곡
리액트 삭제 기능 구현 본문
삭제 기능 구현
리액트에서 삭제 기능을 구현하는 것은 사용자가 특정 데이터를 제거할 수 있게 하는 기능입니다. 이는 CRUD(Create, Read, Update, Delete) 중 'Delete'에 해당합니다. 간단한 할 일 목록(Todo List) 애플리케이션에서 할 일을 삭제하는 기능을 추가하는 방법을 살펴보겠습니다.
1. App 컴포넌트에 삭제 기능 추가
App 컴포넌트에서는 전체 할 일 목록을 관리합니다. 특정 할 일을 삭제하는 removeTodo 함수를 추가하여, 해당 함수를 Todo 컴포넌트에 props로 전달합니다.
import React, { useState } from 'react';
import TodoForm from './TodoForm';
import Todo from './Todo';
function App() {
const [todos, setTodos] = useState([]);
const addTodo = todo => {
if (!todo.text || /^\\\\s*$/.test(todo.text)) {
return;
}
const newTodos = [todo, ...todos];
setTodos(newTodos);
};
const removeTodo = id => {
const removedArr = [...todos].filter(todo => todo.id !== id);
setTodos(removedArr);
};
const updateTodo = (todoId, newValue) => {
if (!newValue.text || /^\\\\s*$/.test(newValue.text)) {
return;
}
setTodos(prev => prev.map(item => (item.id === todoId ? newValue : item)));
};
return (
<div>
<h1>할 일 목록</h1>
<TodoForm onSubmit={addTodo} />
<div>
{todos.map((todo, index) => (
<Todo
key={index}
todo={todo}
removeTodo={removeTodo}
updateTodo={updateTodo}
/>
))}
</div>
</div>
);
}
export default App;
2. Todo 컴포넌트 수정
Todo 컴포넌트에서는 각 할 일 항목을 표시하고, 삭제 버튼을 포함합니다. 삭제 버튼을 클릭하면 removeTodo 함수가 호출되어 해당 할 일 항목이 목록에서 제거됩니다.
import React from 'react';
function Todo({ todo, removeTodo, updateTodo }) {
return (
<div>
<div key={todo.id}>
<text>{todo.text}</text>
<button onClick={() => removeTodo(todo.id)}>삭제</button>
<button onClick={() => setEdit({ id: todo.id, value: todo.text })}>수정</button>
</div>
</div>
);
}
export default Todo;
3. 전체 흐름
- 사용자는 할 일 목록 앱에서 할 일을 추가, 수정, 삭제할 수 있습니다.
- 할 일을 추가하는 addTodo 함수와 수정하는 updateTodo 함수는 이미 구현되어 있습니다.
- 사용자가 할 일 옆의 '삭제' 버튼을 클릭하면, 해당 할 일은 목록에서 제거됩니다. 이는 removeTodo 함수를 호출하여 구현됩니다.
이 예시를 통해, 리액트에서 상태를 관리하며 사용자 인터페이스를 동적으로 업데이트하는 방법을 이해할 수 있습니다. 삭제 기능은 주로 상태에서 특정 항목을 필터링하여 제외시키는 방식으로 구현됩니다.
'개발 > 리액트' 카테고리의 다른 글
리액트를 사용해 간단한 웹 애플리케이션을 구현하는 예제 (1) | 2024.03.14 |
---|---|
리액트 수정 기능 구현 (0) | 2024.03.13 |
리액트 생성 기능 구현 (0) | 2024.03.13 |
리액트 state (0) | 2024.03.13 |
React Event (0) | 2024.03.13 |