在处理 React Avatar 时,每当我尝试通过裁剪上传图片时,每次裁剪都会触发 OnCrop 函数。但是,我需要将 onCrop 值传递给 Upload() 函数而不调用 Upload() 函数。只有在单击按钮时才需要调用 Upload() 函数。或者任何其他改进我的代码的想法,以便当我点击上传按钮时,OnCrop 生成的最终值将发送到服务器。任何帮助表示赞赏。
const App = () =>{
function Oncrop(pv){
const file = pv;
Upload(file);
}
function Upload(file){
axios.post("/api",file);
}
return(
<Avatar width={200}
height={200}
onCrop={onCrop}
onClose={onClose}
src={null}
/>
<button onClick={Upload}>Upload</button>
)
export default App;
答案 0 :(得分:1)
你需要使用一个状态来做到这一点:
const [file, setFile] = useState();
function Oncrop(pv){
setFile(pv)
}
function Upload(){
axios.post("/api",file);
}