【发布时间】:2021-05-31 12:24:40
【问题描述】:
我正在尝试设置一个功能组件,允许用户将剪贴板图像复制/粘贴到应用程序中。在 useEffect 中,我设置了 document.onpaste 。这是有效的,我能够获取图像并上传它。但是我需要让它在粘贴后更新状态,这样我就可以允许他们粘贴多个图像并将它们保持在数组中。
我已经简化了下面的问题。基本上,当我粘贴时,我想让它更新计数器值,但它没有。计数器总是 = 0。如果我使用正常的反应按钮 onclick 事件,它工作正常。我猜 onpaste 事件在 React 之外,但是,
如何处理粘贴事件并更新功能状态?
import React, { useEffect, useState } from 'react';
const AddAttachmentsContainer = ({ zoneid, tableid, field }) => {
const [counter,setCounter]=useState(0);
useEffect(() => {
document.onpaste=(e)=>{GetImage(e);e.preventDefault()}
},[])
const GetImage = (e) => {
setCounter(counter+1)
console.log(counter)
}
}
【问题讨论】:
-
如果我的回答帮助解决了你的问题,你可以接受这篇文章。希望它有所帮助。
标签: reactjs