상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
엣지에서 자주 사용하는 사이트를 홈 화면에 추가하는 방법은?
치핵의 진단 방법은 무엇인가요?
치핵 예방을 위한 생활 습관은 무엇인가요?
치질 치료에 사용되는 약물은 어떤 것들이 있나요?
치질이 있는 경우, 어떤 약을 복용하면 안 되나요?
나고야의 전통적인 아침식사는 어떤 메뉴가 있나요?
업무 중 발생하는 스트레스를 관리하는 방법은?
도쿄역에서의 여행 팁은 무엇인가요?
소프트웨어 개발에서 클린 코드란 무엇인가요?
엑셀에서 차트의 축을 변경하는 방법은?
엑셀에서 데이터의 분포를 시각화하는 방법은?
UCLA의 설립 연도는 언제인가요?
Previous
Next
수정하기 - React에서 드래그 앤 드롭 기능을 구현하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
React에서 드래그 앤 드롭 기능을 구현하는 것은 사용자 인터페이스를 보다 직관적이고 상호작용적으로 만드는 데 매우 유용합니다. 이 기능은 다양한 라이브러리를 통해 쉽게 구현할 수 있으며, 그 중 가장 많이 사용되는 라이브러리 중 하나는 `<a href='https://sangseek.com/sangseeks/react-beautiful-dnd/ko'>react-beautiful-dnd</a>`입니다. 아래에서는 이 라이브러리를 사용하여 드래그 앤 드롭 기능을 구현하는 방법을 단계별로 설명하겠습니다. 1. 프로젝트 설정 먼저, React 프로젝트를 생성하고 `react-beautiful-dnd` 라이브러리를 설치합니다. ```bash npx create-react-app my-dnd-app cd my-dnd-app npm install react-beautiful-dnd ``` 2. 기본 구조 설정 이제 기본적인 컴포넌트를 설정합니다. `App.js` 파일을 열고 다음과 같이 수정합니다. ```javascript import React, { useState } from 'react'; import { <a href='https://sangseek.com/sangseeks/DragDropContext/ko'>DragDropContext</a>, <a href='https://sangseek.com/sangseeks/Droppable/ko'>Droppable</a>, <a href='https://sangseek.com/sangseeks/Draggable/ko'>Draggable</a> } from 'react-beautiful-dnd'; const initialItems = [ { id: '1', content: 'Item 1' }, { id: '2', content: 'Item 2' }, { id: '3', content: 'Item 3' }, ]; function App() { const [items, setItems] = useState(initialItems); const <a href='https://sangseek.com/sangseeks/onDragEnd/ko'>onDragEnd</a> = (result) => { if (!result.destination) return; const reorderedItems = <a href='https://sangseek.com/sangseeks/Array.from/ko'>Array.from</a>(items); const [removed] = reorderedItems.splice(result.source.index, 1); reorderedItems.splice(result.destination.index, 0, removed); setItems(reorderedItems); }; return ( <DragDropContext onDragEnd={onDragEnd}> <Droppable droppableId="droppable"> {(provided) => ( <div ref={provided.innerRef} {...provided.droppableProps} style={{ padding: '20px', width: '300px', background: ' f0f0f0' }} > {items.map((item, index) => ( <Draggable key={item.id} draggableId={item.id} index={index}> {(provided) => ( <div ref={provided.innerRef} {...provided.draggableProps} {...provided.dragHandleProps} style={{ padding: '10px', margin: '5px', background: ' fff', border: '1px solid ccc', borderRadius: '4px', ...provided.draggableProps.style, }} > {item.content} </div> )} </Draggable> ))} {provided.placeholder} </div> )} </Droppable> </DragDropContext> ); } export default App; ``` 3. 코드 설명 - DragDropContext : 드래그 앤 드롭 기능의 컨텍스트를 제공합니다. `onDragEnd` 속성은 드래그가 끝났을 때 <a href='https://sangseek.com/sangseeks/호출/ko'>호출</a>되는 함수입니다. - Droppable : 드래그 가능한 항목이 놓일 수 있는 영역을 정의합니다. `droppableId`는 고유한 ID로, 이 ID를 통해 여러 Droppable을 구분할 수 있습니다. - Draggable : 드래그 가능한 항목을 정의합니다. `draggableId`는 각 항목의 고유 ID입니다. - onDragEnd : 드래그가 끝났을 때 호출되는 함수로, 항목의 <a href='https://sangseek.com/sangseeks/순서/ko'>순서</a>를 업데이트합니다. `result` 객체를 통해 드래그된 항목의 출발지와 도착지를 확인할 수 있습니다. 4. 스타일링 위의 코드에서 기본적인 스타일링을 추가했습니다. 필요에 따라 CSS 파일을 만들어 더 세련된 디자인을 적용할 수 있습니다. 예를 들어, 항목의 색상, 크기, 마우스 오버 효과 등을 추가할 수 있습니다. 5. 추가 기능 기본적인 드래그 앤 드롭 기능 외에도 다음과 같은 추가 기능을 구현할 수 있습니다: - 다중 리스트 : 여러 개의 Droppable을 만들어 항목을 다른 리스트로 이동할 수 있도록 합니다. - 아이템 추가 및 삭제 : 사용자가 새로운 항목을 추가하거나 기존 항목을 삭제할 수 있는 기능을 추가합니다. - 상태 관리 : Redux 또는 Context API를 사용하여 상태 관리를 중앙 집중화합니다. 6. 마무리 React에서 드래그 앤 드롭 기능을 구현하는 것은 사용자 경험을 향상시키는 좋은 방법입니다. `react-beautiful-dnd` 라이브러리를 사용하면 간단하고 직관적으로 이 기능을 추가할 수 있습니다. 위의 예제를 바탕으로 더욱 복잡한 기능을 추가하여 사용자 인터페이스를 개선해보세요.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기