> 웹 프론트엔드 > CSS 튜토리얼 > React에서 이미지 드래그 앤 드롭을 구현하는 방법

React에서 이미지 드래그 앤 드롭을 구현하는 방법

Patricia Arquette
풀어 주다: 2025-01-05 00:01:39
원래의
840명이 탐색했습니다.

How to Implement Image Drag-and-Drop in React

CSS만 사용하여 React에서 이미지 드래그 앤 드롭을 구현하는 방법

React는 대화형 UI 구축으로 널리 알려져 있습니다. 이 튜토리얼에서는 CSS만으로 React에서 이미지에 대한 드래그 앤 드롭 기능을 만드는 방법을 안내합니다.

1단계: React 프로젝트 설정

React 프로젝트를 설정하는 것부터 시작하세요. create-react-app을 사용하면 쉽게 설정할 수 있습니다.

npx create-react-app drag-and-drop
로그인 후 복사

2단계: App.js 및 App.css 업데이트

다음으로 App.js 파일을 수정하여 이미지와 제목에 대한 컨테이너를 만듭니다.

import './App.css';

function App() {
  return (
    <div className="App">
      <h2 className="heading">Select Image:</h2>
      <div className="image-area"></div>
    </div>
  );
}

export default App;
로그인 후 복사

App.css에서 페이지 스타일을 지정합니다.

.App {
  text-align: center;
  width: 100vw;
  height: 100vh;
}

.heading {
  font-size: 32px;
  font-weight: 500;
}
로그인 후 복사

3단계: ImageContainer 구성 요소 생성

새 파일 ImageContainer.js를 만들고 기본 드래그 앤 드롭 컨테이너를 정의합니다.

import React from 'react';

const ImageContainer = () => {
  return (
    <div className="image-container"></div>
  );
};

export default ImageContainer;
로그인 후 복사

ImageContainer.css에서 이 컨테이너의 스타일을 지정합니다.

.image-container {
  width: 60%;
  height: 90%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px dashed rgba(0, 0, 0, .3);
}
로그인 후 복사

4단계: 이미지 업로드 기능 추가

사용자를 위한 파일 입력 및 텍스트 지침으로 ImageContainer를 강화하세요.

import React from 'react';
import './ImageContainer.css';

const ImageContainer = () => {
  const [url, setUrl] = React.useState('');

  const onChange = (e) => {
    const files = e.target.files;
    if (files.length > 0) {
      setUrl(URL.createObjectURL(files[0]));
    }
  };

  return (
    <div className="image-container">
      <div className="upload-container">
        <input
          type="file"
          className="input-file"
          accept=".png, .jpg, .jpeg"
          onChange={onChange}
        />
        <p>Drag & Drop here</p>
        <p>or</p>
        <p>Click</p>
      </div>
    </div>
  );
};

export default ImageContainer;
로그인 후 복사

업로드 컨테이너 스타일을 지정합니다.

.image-container {
  width: 60%;
  height: 90%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px dashed rgba(0, 0, 0, .3);
}

.upload-container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: white;
}

.upload-container > p {
  font-size: 18px;
  margin: 4px;
  font-weight: 500;
}

.input-file {
  display: block;
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
}
로그인 후 복사

5단계: 이미지 미리보기

업로드된 이미지나 드래그 앤 드롭 영역을 조건부로 렌더링하도록 구성요소를 수정하세요.

import React from 'react';
import './ImageContainer.css';

const ImageContainer = () => {
  const [url, setUrl] = React.useState('');

  const onChange = (e) => {
    const files = e.target.files;
    if (files.length > 0) {
      setUrl(URL.createObjectURL(files[0]));
    }
  };

  return (
    <div className="image-container">
      {url ? (
        <img className="image-view">



<h3>
  
  
  Step 6: Import and Run the Application
</h3>

<p>Finally, import ImageContainer into App.js and run the app.<br>
</p>

<pre class="brush:php;toolbar:false">import './App.css';
import ImageContainer from './ImageContainer';

function App() {
  return (
    <div className="App">
      <h2 className="heading">Select Image:</h2>
      <div className="image-area">
        <ImageContainer />
      </div>
    </div>
  );
}

export default App;
로그인 후 복사

이제 앱을 실행하고 React와 CSS로 이미지 드래그 앤 드롭 기능을 코딩해 보세요.


이 튜토리얼에서는 React를 사용하여 이미지에 대한 기본 드래그 앤 드롭 영역을 설정하고, 파일 입력 및 CSS를 활용하여 스타일을 지정하고, 이미지 미리보기를 처리하는 방법을 다룹니다.

위 내용은 React에서 이미지 드래그 앤 드롭을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿