我有一个Metamask支付工作正常。它由onClick按钮触发。我希望在事务挂起期间向用户显示一些内容,但我无法弄清楚如果返回的promise已经是挖掘的事务。这是代码:
web3js.eth.sendTransaction({
to: '0x6Dc8956E655Ccd80187265107b848D8c5B6d2459',
from: address,
})
.then(function (txHash) {
console.log(txHash);
}).catch(error => {
console.log(error);
});
})
答案 0 :(得分:0)
您需要使用组件的状态
在构造函数中:
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);
});
})
然后在您的 render 方法中:(使用条件渲染)
(this.state.willShowLoader)?<Spinner/>:<notSpinner/>