Reactjs 事务处于挂起状态时处理UI(元掩码)
我有一个Metamask付款,效果很好。它是由一次点击按钮触发的。我想在事务挂起期间向用户显示一些东西,但我无法弄清楚如何显示,因为返回的承诺已经是挖掘的事务。代码如下:Reactjs 事务处于挂起状态时处理UI(元掩码),reactjs,ethereum,web3js,metamask,Reactjs,Ethereum,Web3js,Metamask,我有一个Metamask付款,效果很好。它是由一次点击按钮触发的。我想在事务挂起期间向用户显示一些东西,但我无法弄清楚如何显示,因为返回的承诺已经是挖掘的事务。代码如下: web3js.eth.sendTransaction({ to: '0x6Dc8956E655Ccd80187265107b848D8c5B6d2459', from: address, })
web3js.eth.sendTransaction({
to: '0x6Dc8956E655Ccd80187265107b848D8c5B6d2459',
from: address,
})
.then(function (txHash) {
console.log(txHash);
}).catch(error => {
console.log(error);
});
})
您需要使用组件的状态 在构造函数中: 在onclick函数中(第二个参数是回调) 在send transaction函数中:(注意下面的设置状态) 然后在渲染方法中:(使用条件渲染)
(this.state.willShowLoader)?:
当您单击发送发送按钮时,而不是当用户在发送上签名并向网络广播时,此选项将为willShowLoader赋值为true。
this.state = {willShowLoader: false}
this.state.setState({willShowLoader: true}, sendTransaction)
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/>