React에서 드래그 가능한 구성 요소 만들기
5001 단어 reactwebdevbeginnersjavascript
여러분, 안녕하세요! 이 기사에서는 react-draggable package 을 사용하여 React에서 드래그 가능한 구성 요소를 만드는 몇 가지 간단한 방법을 설명합니다.
1단계: npm 패키지 설치
npx create-react-app my-app
로 React 앱을 만든 후 다음을 실행합니다.npm install react-draggable
2단계: 끌 수 있는 구성 요소 추가
App.js
에서 Draggable 구성 요소를 가져오기만 하면 됩니다.import Draggable from 'react-draggable';
그런 다음 드래그할 수 있게 하려는 요소를 다음과 같이 래핑합니다.
<Draggable>
<div className="box">
<div>Move me around!</div>
</div>
</Draggable>
box
에 CSS를 추가할 수 있습니다..box {
position: absolute;
cursor: move;
color: black;
max-width: 215px;
border-radius: 5px;
padding: 1em;
margin: auto;
user-select: none;
}
그리고 그게 다야!
아주 간단하죠? 이제 끌기를 조금 더 사용자 지정하기 위해 추가할 수 있는 Draggable 구성 요소의 몇 가지 멋진 속성에 대해 논의해 보겠습니다.
1. 한 축에서 드래그
위의 예에서 볼 수 있듯이
axis
속성은 기본적으로 both
로 설정되어 있어 구성 요소를 모든 방향으로 끌 수 있습니다. 설정할 수 있는 다른 값은 다음과 같습니다.axis="x": 구성 요소를 수평으로만 끌 수 있습니다.
axis="y": 구성 요소를 수직으로만 끌 수 있습니다.
axis="none": 구성 요소를 끌 수 없습니다.
예
다음은 axis = "x"인 경우의 예입니다.
2. 드래그 가능한 위치 추적
onDrag
이벤트 핸들러는 구성 요소를 드래그할 때마다 트리거됩니다. 이를 사용하여 구성 요소의 위치를 추적할 수 있습니다.먼저
useState
후크를 가져옵니다.import React, { useState } from "react";
그런 다음
position
상태를 초기화하여 위치를 저장합니다.const [position, setPosition] = useState({ x: 0, y: 0 });
다음으로
position
가 트리거될 때마다 onDrag
를 업데이트하는 'trackPos' 기능입니다.const trackPos = (data) => {
setPosition({ x: data.x, y: data.y });
};
그리고
onDrag
가 트리거되면 이 함수를 호출합니다.<Draggable onDrag={(e, data) => trackPos(data)}>
<div className="box">
<div>Here's my position...</div>
<div>
x: {position.x.toFixed(0)}, y: {position.y.toFixed(0)}
</div>
</div>
</Draggable>
그리고 그 결과...
3. 핸들에서만 드래그 가능
해당 핸들에서만 드래그할 수 있도록
handle
속성을 포함할 수 있습니다. 예를 들어:<Draggable handle="#handle">
<div className="box">
<span id="handle">Drag here</span>
<div style={{ padding: "1em" }}>Cannot drag here</div>
</div>
</Draggable>
그리고 그 결과...
결론
이 기사에서는 react-draggable과 이를 사용하여 draggable 구성 요소를 만드는 방법을 소개합니다. 또한 끌 수 있는 구성 요소를 추가로 사용자 지정할 수 있는 여러 속성 중 몇 가지에 대해서도 논의했습니다. 드래그 가능한 요소가 있으면 대화형 앱을 빌드하는 데 유용합니다. 드래그 가능한 기능을 활용하는 bulletin board app로 만든 이 미니 프로젝트를 확인하십시오. 코드는 repo을 참조하십시오.
react-draggable에 대한 자세한 내용은 설명서here를 확인하세요. 이 기사가 도움이 되었기를 바랍니다. 있다면 좋아요와 공유 부탁드립니다. 질문이 있거나 이 패키지로 만든 프로젝트를 아래 의견에 자유롭게 공유하십시오. 건배!
Reference
이 문제에 관하여(React에서 드래그 가능한 구성 요소 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lo_victoria2666/making-draggable-components-in-react-3mjl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)