如何在 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 (); } export default App;Select Image:
在 `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 ( ); }; 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 (); }; export default ImageContainer;Drag & Drop here
or
Click
并设置“upload-container”的样式:
.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 ({url ? (); }; export default ImageContainer;) : (
)}Drag & Drop here
or Browse
步骤 6:导入并运行应用程序
最后,将“ImageContainer”导入“App.js”并运行应用程序。
import './App.css'; import ImageContainer from './ImageContainer'; function App() { return (); } export default App;Select Image:
现在您可以运行该应用程序并享受使用 React 和 CSS 编写图像拖放功能。
本教程介绍如何使用 React 为图像设置基本的拖放区域、利用文件输入和 CSS 进行样式设置以及处理图像预览。