Reactjs 反应&x2014;如何制作按钮(防止在处理HTTP请求时双击)
**尝试以下操作时,当承诺触发时,按钮将首先被禁用。它将保持禁用状态,直到承诺解决,然后再次启用。请告诉我,因为我被困在这里,不确定这是否是正确的事情**Reactjs 反应&x2014;如何制作按钮(防止在处理HTTP请求时双击),reactjs,es6-promise,Reactjs,Es6 Promise,**尝试以下操作时,当承诺触发时,按钮将首先被禁用。它将保持禁用状态,直到承诺解决,然后再次启用。请告诉我,因为我被困在这里,不确定这是否是正确的事情** let [enabled] = useState(false); const getTotal = event => { enabled = false; calTotal().then(validateResult => { // enabled = true;
let [enabled] = useState(false);
const getTotal = event => {
enabled = false;
calTotal().then(validateResult => {
// enabled = true;
});
}
<Button
onClick={() => new Promise((resolve) => {
resolve({
getTotal();
})
})}>Get Total</Button>
let[enabled]=useState(false);
const getTotal=event=>{
启用=错误;
calTotal()。然后(validateResult=>{
//启用=真;
});
}
新承诺((决议)=>{
决心({
getTotal();
})
})}>合计
有几件事需要考虑:
已启用
的状态-您需要使用使用状态
挂钩中的功能true
,才能单击该按钮let [enabled, setEnabled] = useState(true);
const getTotal = event => {
setEnabled(false)
calTotal().then(validateResult => {
setEnabled(true)
});
}
<Button disabled={!enabled} onClick={() => getTotal()}>Get Total</Button>
let[enabled,setEnabled]=useState(true);
const getTotal=event=>{
setEnabled(错误)
calTotal()。然后(validateResult=>{
setEnabled(真)
});
}
getTotal()}>Get Total
这是否回答了您的问题?