[英]Handling UI when a transaction is in pending (MetaMask)
我的Metamask付款有效。 它由按钮的onClick触发。 我想在交易未决期间向用户展示一些东西,但是我无法弄清楚怎么回事,因为返回的承诺已经是已开采的交易。 这是代码:
web3js.eth.sendTransaction({
to: '0x6Dc8956E655Ccd80187265107b848D8c5B6d2459',
from: address,
})
.then(function (txHash) {
console.log(txHash);
}).catch(error => {
console.log(error);
});
})
您需要使用组件的状态
在构造函数中 :
this.state = {willShowLoader: false}
在您的onclick函数中 (第二个参数是回调)
this.state.setState({willShowLoader: true}, sendTransaction)
在您的发送事务功能中 :(注意里面的setState)
web3js.eth.sendTransaction({
to: '0x6Dc8956E655Ccd80187265107b848D8c5B6d2459',
from: address,
})
.then(function (txHash) {
this.setState({willShowLoader:false})
console.log(txHash);
}).catch(error => {
console.log(error);
});
})
然后在您的渲染方法中:(使用条件渲染)
(this.state.willShowLoader)?<Spinner/>:<notSpinner/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.