如何将值从一个函数传递到另一个函数而不触发另一个函数?

时间:2021-08-01 03:57:54

标签: javascript node.js reactjs function avatar

在处理 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;

1 个答案:

答案 0 :(得分:1)

你需要使用一个状态来做到这一点:

const [file, setFile] = useState();
function Oncrop(pv){
   setFile(pv)
}
function Upload(){
   axios.post("/api",file);
}