繁体   English   中英

在事务处于待处理状态时处理UI(MetaMask)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM